运行JAVA代码时出错
目标: 扫描数字(未知结尾),写入-1或更少时结束,打印最小数字和前10个数字 我试图让这个代码作为学校作业来使用,但是如果没有错误,我就无法得到一个代码。请帮忙运行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;
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,我正要写一个好的答案,但他们关闭了问题,你可以看到这个链接以获得答案,