You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio Java项目:如何校验EditText输入内容是否匹配正确答案?

问题分析与解决方案

你的代码没生效大概率是这几个原因:

  • 大小写敏感:matches("LION")是严格匹配大写的,要是玩家输入小写"lion"或者混合大小写"LiOn",都会不匹配。
  • 输入含空白字符:如果玩家输入时不小心多打了空格(比如" LION"或"LION "),matches会因为字符串不完全等于"LION"而不触发提示。
  • 缺少错误分支:你的代码只处理了正确的情况,错误时没有任何提示,可能会让你误以为代码完全没运行。

修改后的代码方案

// 获取输入文本并去掉前后空白字符
String str = monkey.getText().toString().trim();
// 忽略大小写比较,覆盖正确和错误两种场景
if ("LION".equalsIgnoreCase(str)) {
    Toast.makeText(this, "Correct", Toast.LENGTH_SHORT).show();
} else {
    Toast.makeText(this, "Wrong", Toast.LENGTH_SHORT).show();
}

代码说明

  • trim():去除输入字符串前后的空格、换行等空白字符,避免因误输入空格导致判断错误。
  • equalsIgnoreCase():忽略大小写比较字符串,不管玩家输入大写、小写还是混合大小写,只要内容是"lion"就会匹配成功。
  • 新增else分支:错误时弹出"Wrong"提示,让你能明确看到校验结果。

可选的matches写法(不推荐,效率略低)

如果你坚持要用matches方法,可以开启忽略大小写模式:

String str = monkey.getText().toString().trim();
// (?i)开启忽略大小写模式,匹配整个字符串
if (str.matches("(?i)LION")) {
    Toast.makeText(this, "Correct", Toast.LENGTH_SHORT).show();
} else {
    Toast.makeText(this, "Wrong", Toast.LENGTH_SHORT).show();
}

内容的提问来源于stack exchange,提问作者mchauuuu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 05:24:55