运行JAVA代码时出错

运行JAVA代码时出错,java,Java,目标: 扫描数字(未知结尾),写入-1或更少时结束,打印最小数字和前10个数字 我试图让这个代码作为学校作业来使用,但是如果没有错误,我就无法得到一个代码。请帮忙 public class Sheela1 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); boolean isPrice = true; int i = 0;

目标: 扫描数字(未知结尾),写入-1或更少时结束,打印最小数字和前10个数字

我试图让这个代码作为学校作业来使用,但是如果没有错误,我就无法得到一个代码。请帮忙

public class Sheela1 {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        boolean isPrice = true;
        int i = 0;
        int[] arr = new int[10];
        int min = 0;

        while (isPrice = true) {
            System.out.println("enter num");
            int num = scan.nextInt();
            if ((num > -1) && (i <= 10)) {
                isPrice = true;
                arr[i] = num;
            } else if ((num > -1) && (i > 10)) {
                isPrice = true;
            } else if (num <= -1) {
                isPrice = false;
            }

            if ((i == 0) && (min == 0)) {
                min = num;
            } else if ((i > 0) && (num < min)) {
                min = num;
            }
            if (i < 10) {
                System.out.println("num " + (i + 1) + " " + "in the first 10: " + arr[i]);
            } else {
                System.out.println(num);
            }
            i = i + 1;
        }
        System.out.println("min: " + min);
    }
}
公共类Sheela1{
公共静态void main(字符串[]args){
扫描仪扫描=新扫描仪(System.in);
布尔值isPrice=true;
int i=0;
int[]arr=新的int[10];
int min=0;
while(isPrice=true){
System.out.println(“输入num”);
int num=scan.nextInt();
如果((数值>-1)和&(i-1)和&(i>10)){
isPrice=true;
}如果(数值0)和(数值<最小值)){
min=num;
}
如果(i<10){
System.out.println(“num”+(i+1)+”“在前10位:“+arr[i]);
}否则{
系统输出打印项数(num);
}
i=i+1;
}
System.out.println(“min:+min”);
}
}

您的问题是
线程“main”java.lang.ArrayIndexOutOfBoundsException中的异常:10
,因为您使用数组并将大小固定为10,并且尝试在此数组中添加10个以上的元素, 请阅读本文了解更多详情

您必须使用数组列表而不是数组

 ArrayList<Integer> arr = new ArrayList<Integer>();

 arr.add(num); // use this  add new item to array 
ArrayList arr=new ArrayList();
arr.add(num);//使用此选项可将新项添加到数组

我看到一条警告,但没有错误。当变量I达到10时会发生错误。错误是…?线程“main”java.lang.ArrayIndexOutOfBoundsException中的异常:10在Sheela1.main(Sheela1.java:18)@MichaelKorn,我正要写一个好的答案,但他们关闭了问题,你可以看到这个链接以获得答案,