<分区>
它第一次正确执行,但是:
- 它不断打印“请再试一次(是/否)?”不管是什么 输入是在要求继续之后。
我不确定 != 是否适合用于字符串比较。我想说 loopChoice“不是”Y 或 N,继续问。
while(isLoop) { // Ask for user input System.out.print("Enter hours worked: "); hoursWorked = scn.nextInt(); System.out.print("Enter rate per hour: "); payRate = scn.nextInt(); scn.nextLine(); // Call functions to compute stuff ... // Print results ... System.out.print("\nDo you want to continue (Y/N)? "); loopChoice = scn.nextLine().toUpperCase(); while(loopChoice != "Y" || loopChoice != "N") { System.out.print("\nPlease try again (Y/N)? "); loopChoice = scn.nextLine().toUpperCase(); } switch(loopChoice) { case "Y": isLoop = true; System.out.print("\n"); break; case "N": isLoop = false; System.out.println("Terminating program..."); scn.close(); System.exit(0); break; default: System.out.println("Your input is invalid!"); isLoop = false; System.out.println("Terminating program..."); scn.close(); System.exit(0); break; } }