Java中的for循环有问题

德拉戈斯:

我正在使用for循环检查数组中是否存在给定值,问题是它直接在else分支上跳转并打印要检查的值(即使不满足条件)。通过消除中断;它仅对if语句进行一次迭代,并先打印if语句println(),然后打印else语句println()的6倍。为什么会这样呢?

public static void main(String[] args){
   checkArray(new int[]{1, 2, 3, 4, 5, 6, 7}, 4);
}

public static void checkArray(int[] q, int a){

   for(int i = 0; i < q.length; i++){
       if(a == q[i]){
           System.out.println("Number " + a + " is indeed present!");
       } else {
           System.out.println("Number " + a + " is not present!");
       }
       break;
    }

}
nullptr:

该代码在第一次迭代后退出循环。if如果希望在找到该值后退出循环,请尝试在内移动中断

事实是,您可以说直到查看完之后,数字才不在数组中。因此,您应该"Not found" println()在循环之后(即搜索到达数组末尾之后)移动现在,我不会只提供代码,因为SO并不是一个家庭作业网站。但是不要在google或ddg上查找线性搜索。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章