使用扫描仪对象作为新手进行拼写检查

时间:2018-08-01 18:21:54

标签: java spell-checking spelling

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 个答案:

答案 0 :(得分:0)

从本质上讲,发生的事情是循环将运行一次,您可以输入内容,然后退出循环,因为除“ venus”(大写和小写字母的任意组合)之外的所有内容都将退出循环。这就是为什么它还会打印数字等的原因。

解决方案可能是添加!到病情开始这将使条件反转,这意味着现在仅输入“ venus”将导致循环退出,这将导致程序继续运行循环以下的所有内容。但是,仍然不会有任何类型的错误消息。拼写检查和错误处理将以不同的方式实现。

相关问题