首页 > 解决方案 > Java:使用带有扫描仪输入的 Do-while 循环作为字符串类型:制作一个计算简单数学的程序,如果您键入 yes,则让它重复

问题描述

这是代码的图像

我有点困惑如何在我的代码中实现 nextLine() 。我正在查看我的教师代码,我想使用字符串而不是字符?有没有办法我可以做到这一点?

标签: javastringjava.util.scannerdo-while

解决方案


您链接到的代码中的某些行无法编译。

例如,myObj.nextLine();返回一个String,而在java中,String和char是不可互换的;该行isRepeat = someStringExpr;无法编译。

另外,不要混用nextLineand nextAnythingElse,它不会按你想要的方式工作。如果要读取整行,请使用.useDelimiter("\r?\n");将扫描仪从“读取以空格分隔的内容”更改为“读取以换行符分隔的内容”。然后,您可以使用next()来获取整行,作为字符串。

一旦你“固定”isRepeat为 a String,请注意,在 java 中,字符串由双引号分隔,所以它是"Yes",而不是 'Yes',最后,你.equals()用来比较字符串,not ==which 不起作用:while (isRepeat.equals("Yes"));是你'正在寻找。

请注意,在原始代码中,.next()使用的是(不是 nextLine - 您不需要 nextLine)。


推荐阅读