java - 当我输入单个单词字符串而不是句子中的单个字符串时,如何停止 do while 循环?不知道怎么说
问题描述
所以,我正在制作一个程序,如果用户写“cookie”这个词,你只能停止循环。不幸的是,当我在句子中添加单词“cookie”等“我爱饼干”时,程序停止了。我如何让程序继续运行并在用户放置“cookie”时停止。这是我的代码。
import java.util.Scanner;
public class Lab6A {
public static void main(String[]args){
Scanner game = new Scanner(System.in);
String cookie;
String word = "cookie";
do {
System.out.print("Gimme a cookie: ");
cookie = game.next();
} while (!word.contains(cookie));
}
}
解决方案
如果您检查是否word
contains cookie
,如果用户输入i
or ,则返回 true e
,因为您的单词"cookie"
实际上包含该字母。因此,如果您写“我爱 cookie”,您的代码就会停止,因为 cookie 包含字母 i。
如果你像这样检查它:
cookie.equals(word);
如果cookie
并且 word
由“cookie”组成,则仅返回true,仅此而已。
推荐阅读
- jenkins - 使用 aws 的 Jenkins 未被识别为内部或外部命令 - Windows 10
- javascript - ChartJS 在可见性属性切换后显示错误的数据集
- python - 删除多个列表元素,知道它们在 python 中的索引
- php - PHP 中的 openssl_seal 生成“503 Service Unavailable”页面
- python - pyspark 中的 to_json 排除空值,但我需要空值作为空白
- c# - 如何从 appsettings.json 读取嵌套循环 json 值并分配给对象
- bluetooth-lowenergy - 如何将字节数组从 LPSTK-CC1352R 温度转换为十进制
- java - maven wsdl2java 在转换为小写包名时产生错误的字符
- bash - 在重命名之前对目录中的文件进行排序
- node.js - aws lambda解析excel文件节点失败损坏的zip