此代码 Exist(arry2,number2);判断数值存在的方法有什么问题?

package Test;

import java.util.Scanner;

public class Test12 {
public static void main(String[] args) {
int[] arry1={11,21,32,42,53};
int[] arry2={11,29,23,41,56};
Prinf(arry1);
Prinf(arry2);
Max(arry1);
Max(arry2);

    Scanner sc = new Scanner(System.in);
    System.out.println("请输入要搜索的数字");
    int number1=sc.nextInt();
    System.out.println("请输入要搜索的数字");
    int number2=sc.nextInt();
    Exist(arry1,number1);
    Exist(arry2,number2);


}

public static void Prinf(int arry1[]){
    String s = "[";
    for (int i = 0; i < arry1.length; i++) {
        if (i1){
            s=s+arry1[i]+",";
        }else{
            s=s+arry1[i]+"]";
        }
    }
    System.out.println(s);
}

public static void Max(int arry1[]){
    int max = 0;
    for (int i = 0; i < arry1.length; i++) {
        if(arry1[i]>max){
            max=arry1[i];
        }
    }
    System.out.println(max);

}

public  static  void Exist(int arry1[],int number1){
    for (int i = 0; i < arry1.length; i++) {
        if(number1==arry1[i]){
            System.out.println("这个数组里面有这个数字,在数组第"+(i+1)+"个");
            break;
        }else {
            System.out.println("没有这个数字");
            break;
        }
    }
}

}

你这个如果第一个数不满足,不就跳出循环了么,肯定有问题呀,

img


可以改成这样

public  static  void Exist(int arry1[],int number1){
        boolean result=true;
        for (int i = 0; i < arry1.length; i++) {
            if(number1==arry1[i]){
                System.out.println("这个数组里面有这个数字,在数组第"+(i+1)+"个");
                result=false;
                break;
            }else {
                continue;
            }

        }
        if(result){
            System.out.println("没有这个数字");

        }
    }