我似乎无法让我的程序正常循环。因此,目标是在用户输入他们的数字等级后,它将输出相应的字母等级。之后,提示用户是否想再次进入,他们可以输入“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();
}
}
}
答案 0 :(得分:0)
比较字符串时,使用String.equals(String)而不是String == String。 String.equals比较字符串的内容,String == String比较字符串是否是同一个对象。
答案 1 :(得分:0)
使用字符串的.equals()
方法比较字符串的内容。使用==
将比较它们是否是同一对象的同一个实例。
有关详细信息,请参阅here。