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

java – 尝试创建一个方法来检查数组是否只包含1或4

发布时间:2020-12-15 05:12:58 所属栏目:Java 来源:网络整理
导读:static boolean checkNum(int[] array) { boolean bool = true; for (int i = 0; i array.length; i++) { if (array[i] != 1 || array[i] != 4) { return !bool; } i++; } return bool;} 我尝试过几种编码,但没有任何运气.我应该怎么做?它只需要通过数组并
static boolean checkNum(int[] array) {

    boolean bool = true;

    for (int i = 0; i < array.length; i++) {

        if (array[i] != 1 || array[i] != 4) {
            return !bool;
        }
        i++;
    }
    return bool;
}

我尝试过几种编码,但没有任何运气.我应该怎么做?它只需要通过数组并找到任何不是1或4的东西,否则它应该是真的.

解决方法

您的代码中有两个问题:

> array [i]!= 1 || array [i]!= 4将始终评估为true.任何数字都不是1或不是4.

您正在寻找条件数组[i]!= 1&& array [i]!= 4,表示“数字不是1而不是4”.另一个有效的替代方案是!(array [i] == 1 || array [i] == 4),它表示“数字不是1或4”.你最终选择哪一个取决于你的个人喜好.
>正如其他人指出的那样,循环中的i是冗余的,并使循环跳过每一个元素.

这个版本应该解决你的问题:

static boolean checkNum(int[] array) {

    for (int i = 0; i < array.length; i++) {

        if (array[i] != 1 && array[i] != 4) {
            return false;
        }

    }

    return true;
}

你看到除了变量bool之外还有可能吗?

额外奖励:如果你使用forEach循环代替for循环,那就更清楚了:

static boolean checkNum(int[] array) {

    for (int i : array) {

        if (i != 1 && i != 4) {
            return false;
        }

    }

    return true;
}

(编辑:李大同)

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

    推荐文章
      热点阅读