在Java中运行Charat时出乎意料的类型错误



尝试在Java中运行一个小程序时,我会收到以下错误:

HangmanSB.java:19: error: unexpected type
            if (sentence.charAt(i) = " "){
                               ^
  required: variable
  found:    value
1 error

我尝试阅读本网站上发布的类似问题的答案,但我似乎仍然不明白如何解决该程序给我的错误。

import java.util.Scanner;
class HangmanSB {
   public static void main(String[] args){
      Scanner keyboard = new Scanner(System.in);
      String sentence = keyboard.nextLine();
      int turns = keyboard.nextInt();
      for (int turnsLeft = turns; turnsLeft > 0; turnsLeft--){
         int length = sentence.length();
         for (int i = 0; i < length; i++){
            if (sentence.charAt(i) = " "){
               System.out.println(" ");
            }
            else {
               System.out.print("_");
            }
         }
      }
  }
}

有两个错误:

public char charAt(int index)方法返回 char

您需要使用==而不是分配操作员=

因此使用:

if (sentence.charAt(i) == ' '){
    System.out.println(" ");
}
if (sentence.charAt(i) == ' '){

您的错误在这里:

 if (sentence.charAt(i) = " ")

将其更改为此

if (sentence.charAt(i) == ' ')

使用==比较intchar

有两种类型的错误 =" "

要比较字符值,请使用' '==

这样:

if (sentence.charAt(i) == ' ')

最新更新