Java新手,修读大学课程。
我正在编写一个程序,询问用户的互联网包,以便计算他们的账单。这是我要求他们的包裹的片段,并且必须确认他们已经回答了A,B或C.
由于某种原因,即使我输入“a”,它也会进入while循环..
//Create Keyboard scanner
Scanner keyboard = new Scanner(System.in);
//Get user package
String servicePackage;
System.out.println("Enter your internet package: A, B, or C");
servicePackage = keyboard.nextLine();
servicePackage = servicePackage.toUpperCase();
System.out.println(servicePackage);//This line is for debugging
//Validate User Package Input
while (servicePackage != "A" && servicePackage != "B" && servicePackage != "C"){
System.out.println("Please enter a valid internet package (A, B or C)");
servicePackage = keyboard.nextLine();
servicePackage = servicePackage.toUpperCase();
System.out.println(servicePackage);//for debugging
}
System.out.println(servicePackage);//for debugging
不确定它是否相关,但我使用的是jGrasp。
感谢任何帮助!
答案 0 :(得分:0)
"串" (声明)=="字符串"返回false。你应该使用equals(" string" .equals(" string")return true)或equalsIgnoreCase(例如:" STRING" .equalsIgnoreCase(" string& #34;)也返回true)