我写了一个简单的程序来检查输入是否是字母O.出于某种原因,即使我输入字母O,程序输出的输入也不是字母O.我使用了Eclipse调试器来确保输入变量实际上等于“O”。
import java.util.Scanner;
public class scannerTest {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Give your input. I will tell you if your input is 'O' or not");
String input = scan.next();
if (input == "O"){
System.out.println("Your input was 'O'");
}
else {
System.out.println("Your input was not 'O'");
}
}
}
答案 0 :(得分:3)
您需要使用equals
方法而不是==
运算符,如下所示:
if(input.equals("O"))
使用==
比较字符串对象的内存地址而不是它们的值,因此为了==
返回true
,您必须比较相同的String对象。
答案 1 :(得分:1)
==
运算符检查对象的相等性,而不是字符串的值。
而不是那样,使用:
if(input.equals("O")){
//Code here
}