简单的条件扫描输入

时间:2013-05-21 01:59:08

标签: java string-comparison

我写了一个简单的程序来检查输入是否是字母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'");
    }
}

}

2 个答案:

答案 0 :(得分:3)

您需要使用equals方法而不是==运算符,如下所示:

if(input.equals("O"))

使用==比较字符串对象的内存地址而不是它们的值,因此为了==返回true,您必须比较相同的String对象。

答案 1 :(得分:1)

==运算符检查对象的相等性,而不是字符串的值。

而不是那样,使用:

if(input.equals("O")){
   //Code here
}