java - Java:使用带有扫描仪输入的 Do-while 循环作为字符串类型:制作一个计算简单数学的程序,如果您键入 yes,则让它重复
解决方案
您链接到的代码中的某些行无法编译。
例如,myObj.nextLine();
返回一个String,而在java中,String和char是不可互换的;该行isRepeat = someStringExpr;
无法编译。
另外,不要混用nextLine
and nextAnythingElse
,它不会按你想要的方式工作。如果要读取整行,请使用.useDelimiter("\r?\n");
将扫描仪从“读取以空格分隔的内容”更改为“读取以换行符分隔的内容”。然后,您可以使用next()
来获取整行,作为字符串。
一旦你“固定”isRepeat
为 a String
,请注意,在 java 中,字符串由双引号分隔,所以它是"Yes"
,而不是 'Yes',最后,你.equals()
用来比较字符串,not ==
which 不起作用:while (isRepeat.equals("Yes"));
是你'正在寻找。
请注意,在原始代码中,.next()
使用的是(不是 nextLine - 您不需要 nextLine)。
推荐阅读
- python - 如何删除行有任何特定值?
- azure-synapse - 用户“令牌识别主体”登录失败 - Azure 突触
- authentication - 更改 kerberos 主体
- java - 使用 Selenium Webdirver 的身份验证弹出问题
- javascript - PayPal 感谢页面(按表单变量)
- php - 比较PHP中数组中未知的项目数
- python - 如何检测何时在 npyscreen 中选择了按钮?
- r - 如何汇总某些部分重复的行但不是所有重复的行(基于条件语句)?
- pandas - 使用 pandas 准备行序列
- node.js - 使用无头浏览器的 Lambda 函数出现网络错误