我试图制作一个单词计数程序,而不必使用split()。 好的,在你们告诉我说这是重复之前。我知道。 另一个解决方案并不是非常具体,因为他们使用的是add方法。
public static void findWord()
{
Scanner input = new Scanner(System.in);
System.out.println("Enter a sentence");
String sentence = input.nextLine();
int numOfWords = count(sentence);
这里计数出现错误。
System.out.println("input: " + sentence);
System.out.println("number of words: " + numOfWords);
}
答案 0 :(得分:0)
您需要count
方法。这是一个简单的例子:
public int count(String sentence) {
return sentense.split(" ").length;
}
sentense.split(" ")
会将sentence
拆分为空格,并返回Strings
("hello world"
成为{"hello", "world"}
)的数组。
.length
将返回数组中的项目数,在本例中为单词数。
答案 1 :(得分:0)
正如Stefan所说,你错过了一个count
方法(就像你在说count(sentence);
时所说的那样)
当你要求不使用split()
public static int count(String s) {
int count = 1; //to include the first word
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == ' ') {
count++;
}
}
return count;
}
如果空格存在问题,更好的方法是:
StringTokenizer st = new StringTokenizer(sentence);
System.out.println(st.countTokens());