java' if'字符串输入的语句

时间:2016-06-23 02:26:25

标签: java

我正在为一所学校的项目工作,我对我所做的IF声明有点小问题。

它使用扫描仪输入并查找该人输入内容的答案。 但它似乎并没有起作用。

public static void remove(){
    System.out.println("Would you like to remove a student? (y/n)");
    input = new Scanner(System.in);
    String answer=input.nextLine();
    if(answer == "y"){
        Scanner idInput = input;
        System.out.println("Please enter a student ID");
        for(int i=idInput.nextInt();i<=studentlist.size();i++){
            if(studentlist.get(i).getId().equals(i)){
                studentlist.remove(i);
                return;
            }
        }
    }
    return;
}

当我进入&#39; y&#39; (没有引号)进入控制台它只是跳过我的if逻辑并返回main方法。

    Would you like to remove a student? (y/n)
y
Student ID  Recent Grades   Name        E-Mail          Age
1       [88, 79, 59]    John Smith  John1989@gmail.com  0
2       [91, 72, 85]    Suzan Erickson  Erickson_1990@gmailcom  0
3       [85, 84, 87]    Jack Napoli The_lawyer99yahoo.com   0
4       [91, 98, 82]    Erin Black  Erin.black@comcast.net  0
5       [79, 88, 91]    Joshua Selvidge jselvidge@wgu.edu   0

1 个答案:

答案 0 :(得分:0)

问题不在于IF语句,而在于您使用的比较运算符。对于String,您需要使用equals关键字而不是==

这样的事情:

if("y".equals(answer)){
 ...
}

希望这有帮助。