java - 我收到无效字符常量的错误我做错了什么?
问题描述
do {
System.out.println("What is the Secret Word");
secretWord.equalsIgnoreCase("Water");
if (secretWord != 'Water')
secretWord.equalsIgnoreCase("Water");
}
我试图让用户猜测水这个词,如果他们不这样做,那么它会提示用户再次猜测。如果他们做对了,程序会呼应秘密词水
解决方案
- 在向下的第 4 行,您需要将“水”更改为“水”,因为它是一个字符串。
- 您还缺少 if 语句的括号。
- 该行中的 !=
secretWord != "Water"
不用于确定一个字符串是否不等于另一个字符串。而是.equals
用来确定一个字符串是否等于另一个字符串。
试试这个代码:
Scanner scanner = new Scanner(System.in);
do {
System.out.println("What is the Secret Word");
String secretWord = scanner.next();
secretWord.equalsIgnoreCase("Water"); // Delete this - line does nothing
if (!secretWord.equals("Water")) {
secretWord.equalsIgnoreCase("Water");
}
}while (!secretWord.equals("Quit"));
此外,您在这个问题上标记了 Java 和 Javascript。这是两种完全不同的语言。我假设您可能只是指 Java。
推荐阅读
- javascript - 未捕获的类型错误:无法读取 null 的属性“拆分”
- node.js - 如何在 Vue.js 中将数据从父组件发送到子组件
- reactjs - 在 React 中的所有可用路线上使用 Navbar 是一种不好的做法吗?
- laravel - 从自定义表单请求获取格式化值 - Laravel 5.6
- excel - 问题是否可以获取一个数字列表并将它们中的每一个放在不同的单元格中
- javascript - Highstock 中双 X 轴上未对齐的刻度
- ruby - 如何使用 Chef 在 EC2 实例上远程设置 apache 服务器
- jdbc - 带有自定义模式的 jdbc redshift 连接字符串
- javascript - CAS + service worker 无限重定向循环
- docker - docker swarm 网络中带有“lb-”前缀的额外容器是什么?如何设置 docker network 没有那个?