加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 检查String x是否等于String []中的任何字符串

发布时间:2020-12-15 02:06:22 所属栏目:Java 来源:网络整理
导读:如果用户输入的字符串等于字符串数组中的任何字符串,我试图设置一个布尔值true. 我有即兴创作并提出了这个问题 String[] cancelWords = {"cancel","nevermind","scratch that"};boolean valueEqualsCancel = true;for(String cancelWord : cancelWords) { if
如果用户输入的字符串等于字符串数组中的任何字符串,我试图设置一个布尔值true.

我有即兴创作并提出了这个问题

String[] cancelWords = {"cancel","nevermind","scratch that"};
boolean valueEqualsCancel = true;
for(String cancelWord : cancelWords) {
  if(!valueEqualsCancel) break;
  valueEqualsCancel =  valueEqualsCancel && value.equals(cancelWord);
}

但是valueEqualsCancel永远不会是真的.

有小费吗?

解决方法

valueEqualsCancel永远不会为true,因为当你找到cancelWord时你不会退出循环.

为了达到break语句,您需要将valueEqualsCancel设为false.

例如,如果您在第一个循环后搜索“cancel”,则变量valueEqualsCancel为:

valueEqualsCancel =  valueEqualsCancel && value.equals(cancelWord) = TRUE && TRUE = TRUE;

所以在第二个循环中你不会破坏.然后再次评估表达式

valueEqualsCancel =  valueEqualsCancel && value.equals(cancelWord) = TRUE && FALSE = FALSE;

因此,在第三个循环中,您将退出并且valueEqualsCancel为false.

您可以通过以下方式更正代码:

String[] cancelWords = {"cancel","scratch that"};
boolean found = false;
for(String cancelWord : cancelWords) {
  found = value.equals(cancelWord);
  if (found) break;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读