Java程序没有循环

时间:2015-02-03 00:45:04

标签: java

我似乎无法让我的程序正常循环。因此,目标是在用户输入他们的数字等级后,它将输出相应的字母等级。之后,提示用户是否想再次进入,他们可以输入“y”或“Y”继续。但是,此时,即使输入“y”或“Y”,程序也不会循环。

//Grades.java by Jonathan Holter 02/01/2015

import java.util.*;
public class Grades
{
public static void main(String args[]) 
{
    int numGrade = 0;
    String againRun = "y", letterGrade = "A";

    Scanner keyboard = new Scanner(System.in);
    System.out.print("\nWelcome to Jonathan Holter's Grade Converter" + "\n--------------------------------------------");

    while(againRun == "Y" || againRun == "y")
    {
        do
        {
            System.out.print("\n\nEnter the numerical grade: ");
            numGrade = keyboard.nextInt();
            keyboard.nextLine();

            if(numGrade < 0 || numGrade > 100)
            {
                System.out.print("\nERROR: Out of Range" + "\nPlease choose a value between 0 - 100");
            }
        }
        while(numGrade < 0 || numGrade > 100);

        if(numGrade < 60)
        {
            letterGrade = "E";
        }

        else if(numGrade > 59 && numGrade < 70)
        {
            letterGrade = "D";
        }

        else if(numGrade > 69 && numGrade < 80)
        {
            letterGrade = "C";
        }

        else if(numGrade > 79 && numGrade < 90)
        {
            letterGrade = "B";
        }

        else if(numGrade > 89 && numGrade < 101)
        {
            letterGrade = "A";
        }

        System.out.print("\nLetter Grade: " + letterGrade);

        System.out.print("\n\nContinue? <Y/N> ");
        againRun = keyboard.next();

    }


}

}

2 个答案:

答案 0 :(得分:0)

比较字符串时,使用String.equals(String)而不是String == String。 String.equals比较字符串的内容,String == String比较字符串是否是同一个对象。

答案 1 :(得分:0)

使用字符串的.equals()方法比较字符串的内容。使用==将比较它们是否是同一对象的同一个实例。

有关详细信息,请参阅here