Scanner kb = new Scanner(System.in);String plt;String msr;double wgh; System.out.println("'Welcome to interplanetary weight calculator."); Thread.sleep(2500); System.out.println(""); System.out.println("Please choose one planet for calculation:"); System.out.println("1.Venus 2.Mars 3.Jupiter"); System.out.println("4.Saturn 5.Uranus 6.Neptune"); System.out.print(">");do { while (!kb.hasNextLine()) { System.out.println("That's not a planet!"); kb.nextLine(); // this is important! } plt = kb.nextLine();} while (plt.equalsIgnoreCase("Venus"));System.out.println("Thank you!Now will do calculation on " + plt); }}我想在行星之间制作一个重量计算器,我也想要一个拼写检查器,但是当我写一些东西时,它只会打印出“谢谢!现在,将计算......”。它也打印出整数。我找不到我哪里做错了。
1 回答
MMTTMM
TA贡献1869条经验 获得超4个赞
本质上,发生的情况是你的循环将运行一次,你可以输入一些东西,然后它会退出循环,因为除了“venus”(大小写的任意组合)之外的任何东西都会退出循环。这就是为什么它还会打印数字等。
解决这个问题的方法可能是添加一个 ! 到条件的开始。这将反转条件,这意味着现在只有进入“venus”才会导致循环退出,这将导致程序继续运行循环下方的所有内容。但是,仍然不会出现任何类型的错误消息。拼写检查和错误处理将以不同方式实现。
添加回答
举报
0/150
提交
取消