我不知道为什么线条不会在while循环中打印。我也离开了。请帮忙。 程序运行但是while循环中的任何内容都不会打印。
public class RomanNumeralHelper {
/**
* (Insert a brief description that describes the purpose of this method)
*
* @param args
*/
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String myRoman;
String upperRoman;
System.out.print("Enter a roman numeral [Q | q to quit]: ");
myRoman = in.next();
upperRoman = myRoman.toUpperCase();
while (upperRoman != "Q") {
if (upperRoman == "I") {
System.out.println(">> 1");
} else if (upperRoman == "II") {
System.out.println(">> 2");
} else if (upperRoman == "III") {
System.out.println(">> 3");
} else if (upperRoman == "IV") {
System.out.println(">> 4");
} else if (upperRoman == "V") {
System.out.println(">> 5");
}
System.out.print("Enter a roman numeral [Q | q to quit]: ");
myRoman = in.next();
upperRoman = myRoman.toUpperCase();
}
System.out.println("Good Bye!");
// (5) Closes the in object to avoid a resource leak.
in.close();
}
}
答案 0 :(得分:3)
将字符串与equals()
进行比较,而不是==
答案 1 :(得分:0)
您也可以通过不将其更改为大写并使用.equalsIgnoreCase()来比较字符串来清理它。
此外,您可以在while循环中包含第一个打印,而不是在循环结束时重复。这些只是一些清理代码的小技巧。