我在编码方面还很陌生,需要一些帮助。我不确定错误的操作数是100%,并且不知道如何解决此问题。
我的代码
register
错误
import java.util.Scanner;
class Main {
public static void main(String[] args) {
//String.phrase; Scannerobject.next();
int count = 0;
Scanner in1 = new Scanner(System.in);
String in = in1.nextLine();
in = in.trim();
for (int i = 0; i < in.length(); i++){
if (in.charAt(i) == ' ' && in.charAt(i + 1));
}
// more work here
System.out.println(count);
count++;
}
}
感谢您的帮助
答案 0 :(得分:4)
表达式的两面都必须产生boolean
结果。
if (in.charAt(i) == ' ' && in.charAt(i + 1));
^^This will not evaluate to either true or false
我认为您想要
if (in.charAt(i) == ' ' && in.charAt(i + 1) == ' ')
还要注意,if
之后没有分号。
如果您要计算单词数,则要遍历String
的长度,并且每次有空白时,将其添加到计数器中。像这样:
for (int i = 0; i < in.length(); i++){
if (in.charAt(i) == ' ' ) {
counter++;
}
}
但是,还有许多更简单的方法可以做到这一点。使用split()
方法可以做到:
System.out.println(in.split(" ").length);
这会将输入的String
分割成一个空白,然后找到结果Array
的长度