Java:while循环没有返回

时间:2014-09-05 23:11:24

标签: java while-loop

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。

感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

"串" (声明)=="字符串"返回false。你应该使用equals(" string" .equals(" string")return true)或equalsIgnoreCase(例如:" STRING" .equalsIgnoreCase(" string& #34;)也返回true)