java 如何将输入值与一个满是值的数组进行比较,并在找到正确的值时停止循环?[已关闭]

xqkwcwgp  于 2023-01-11  发布在  Java
关注(0)|答案(2)|浏览(110)

已关闭。此问题需要超过focused。当前不接受答案。
**想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。

2天前关闭。
Improve this question
所以,我试过嵌套循环,if,while中的if,所有这些都不起作用,我也试过用==代替.equals,但是仍然没有用,我也试过for循环,但是没有用。
那么while循环应该一直运行,直到它到达数组的值,这个值和输入的单词相同,然后循环应该停止并返回true,如果它循环了整个过程,什么都没有,那么它应该返回false。

public static Boolean isReal(String word, String[] wordArray)
    {
        int i = 0;
        while(i < wordArray.length && !word.equals(wordArray[i]))
        {
            i++;
            if(i < wordArray.length &&word.equals(wordArray[i]))
            {
                return true;
            }
        }
        return false;
    }
isr3a4wc

isr3a4wc1#

你可能会认为你的代码不工作,因为你总是跳过检查第一个wordArray[0]元素。尽量保持简单,你可以使用一个break;语句来停止循环:

public static boolean isReal(String word, String[] wordArray) {
    boolean isFound = false;
    for (String s : wordArray) {
      if (word.equals(s)) {
        isFound = true;
        break;
      }
    }
    return isFound;
  }

或者更简单:

public static boolean isReal(String word, String[] wordArray) {
    return Arrays.asList(wordArray).contains(word);
  }
xghobddn

xghobddn2#

public static Boolean isReal(String word, String[] wordArray) {

        for (String arrValue : wordArray) {

            if (arrValue.equals(word)) {
                return true;
            }

        }

        return false;

}

相关问题