如何修复此错误的操作数(&&)

时间:2018-10-26 01:32:41

标签: java

我在编码方面还很陌生,需要一些帮助。我不确定错误的操作数是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++;
}
}

感谢您的帮助

1 个答案:

答案 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的长度