猿问

新手使用 Scanner 对象进行拼写检查

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); }}

我想在行星之间制作一个重量计算器,我也想要一个拼写检查器,但是当我写一些东西时,它只会打印出“谢谢!现在,将计算......”。


它也打印出整数。我找不到我哪里做错了。


慕虎7371278
浏览 127回答 1
1回答

MMTTMM

本质上,发生的情况是你的循环将运行一次,你可以输入一些东西,然后它会退出循环,因为除了“venus”(大小写的任意组合)之外的任何东西都会退出循环。这就是为什么它还会打印数字等。解决这个问题的方法可能是添加一个 ! 到条件的开始。这将反转条件,这意味着现在只有进入“venus”才会导致循环退出,这将导致程序继续运行循环下方的所有内容。但是,仍然不会出现任何类型的错误消息。拼写检查和错误处理将以不同方式实现。
随时随地看视频慕课网APP

相关分类

Java
我要回答