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

Java 如何修复此错误操作数(&;&;),java,Java,我对编码非常陌生,需要一些帮助。我不是100%确定什么是坏的操作数,也不知道如何修复它 我的代码 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.next

我对编码非常陌生,需要一些帮助。我不是100%确定什么是坏的操作数,也不知道如何修复它

我的代码

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++;
}
}

感谢您的帮助

表达式的两侧都必须产生一个
布尔值
结果

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
后面没有分号


如果要计算字数,则需要迭代
字符串的长度
,每次出现空白时,将其添加到计数器中。比如:

for (int i = 0; i < in.length(); i++){
    if (in.charAt(i) == ' ' ) {
        counter++;
    }
}

它将在空白处分割输入的
字符串
,然后找到结果
数组的长度

表达式的两侧必须产生一个
布尔值
结果

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
后面没有分号


如果要计算字数,则需要迭代
字符串的长度
,每次出现空白时,将其添加到计数器中。比如:

for (int i = 0; i < in.length(); i++){
    if (in.charAt(i) == ' ' ) {
        counter++;
    }
}

它将在空白处拆分输入的
字符串
,然后找到生成的
数组的长度

“坏操作数”是运算符无法处理的操作数类型。对于
&&
而言,“坏操作数”是指不是
布尔类型的操作数<字符(i+1)中的代码>属于
char
类型,而不是
boolean
类型。如果(in.charAt(i)=''&&in.charAt(i+1))
,你想用
说什么?一个“坏操作数”是一个运算符无法处理的类型的操作数。对于
&&
而言,“坏操作数”是指不是
布尔类型的操作数<字符(i+1)中的代码>属于
char
类型,而不是
boolean
类型。如果(in.charAt(i)=''&&in.charAt(i+1))
你想说什么?我完全忘了在解释中添加我想要的内容。这有助于修复我的代码,但当我输入一个像“hello world”这样的句子时,它会一直给出数字0。如何让代码说出句子中的单词数?我完全忘了在解释中添加我想要的内容。这有助于修复我的代码,但当我输入一个像“hello world”这样的句子时,它会一直给出数字0。如何让代码说出句子中的单词数?