java输入一个英语句子,统计这个句子中包含的单词的个数,及字母的个数。 例:输入 I am a teacher. 显示:有4个单词 a: 3 c: 1 (大小写字母 忽略)
时间: 2024-04-30 11:17:56 浏览: 133
java基础编程:统计出给定字符串的英文字母、空格、数字和其它字符的个数
好的,针对您的问题,下面是Java程序代码示例,可以实现您所描述的功能:
```java
import java.util.Scanner;
public class WordCount {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个英语句子:");
String sentence = scanner.nextLine();
scanner.close();
// 统计单词数
String[] words = sentence.split("[^a-zA-Z]+");
int wordCount = words.length;
// 统计字母数
int letterCount = 0;
for (int i = 0; i < sentence.length(); i++) {
char c = sentence.charAt(i);
if (Character.isLetter(c)) {
letterCount++;
}
}
// 输出结果
System.out.printf("有%d个单词\t", wordCount);
System.out.printf("a: %d\t", countLetter(sentence, 'a'));
System.out.printf("c: %d\n", countLetter(sentence, 'c'));
}
public static int countLetter(String sentence, char letter) {
int count = 0;
for (int i = 0; i < sentence.length(); i++) {
char c = sentence.charAt(i);
if (Character.toLowerCase(c) == Character.toLowerCase(letter)) {
count++;
}
}
return count;
}
}
```
您可以将上面代码保存为WordCount.java文件,然后在命令行窗口或终端中使用javac编译器编译该文件,生成WordCount.class文件,最后使用java命令运行该程序即可。
注:上面的程序中,使用了正则表达式"[^a-zA-Z]+"来分割句子中的单词,该正则表达式表示匹配非字母字符。同时,为了忽略字母的大小写,使用了Character.toLowerCase()方法将字母转换为小写字母后再进行比较。
阅读全文