do-while循环中String的Java布尔表达式

时间:2014-12-06 22:17:43

标签: java

public class StudentGrades {

    String studentID;
    Integer numericGrade;

    Scanner input = new Scanner(System.in);

public void loadStudentGrades(){
    do{
        System.out.println("Please enter a Student ID, or enter 'end' to exit: ");
        studentID = input.next();
        System.out.println("Please enter numeric grade for the ID above: ");
        numericGrade = input.nextInt();
        map.put(studentID, numericGrade);
        }
    while (studentID !String.equals("end")); //this is throwing an error. How is it possible to get this to work?
    }
}

我正在研究这个课程,并且发现很难让我的do-while循环中的while部分按照我期望的方式工作。我想说,当studentID不等于"结束"经历循环。

2 个答案:

答案 0 :(得分:2)

您的while条件应更改如下:

while (!studentID.equals("end"))

您当前调用equals方法的方式不正确,因为该方法不知道您正在尝试将studentID与" end";所有你给它的是"结束"。

答案 1 :(得分:1)

你应该写

while(!studentID.contentEquals("end"));