为什么这样:线程“main”中的异常java.lang.ArrayIndexOutOfBoundsException:20我需要根据K输入20个双精度数字,如果k为0,所有20应该是-10 20如果没有,他们必须通过这个来计算:A [1] = A [I-1]在这个特定情况下的Java数组异常
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Random;
public class Ld3151rdb258 {
public static void main(String[] args) {
double A[] = new double[20];
int K, i;
double C;
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
System.out.println("Andris Osītis IRDBD03 151RDB258");
System.out.print("K=");
try {
K = Integer.parseInt(br.readLine());
}
catch (Exception ex) {
System.out.println("input-output error");
return;
}
if (K==0) {
Random r = new Random();
for (i=1; i<20; i++)
A[i] = r.nextFloat()*30-10;
}
else
for (i=0; i<20; i++);
A[0] = 0.5;
for (i=1; i<20;i++);
A[i] = i-1*K/3.0d ;
System.out.println("A:");
for (i=0; i<20; i++) {
System.out.printf("%.1f\t", A[i]);
if (i==9) System.out.println();
}
for (i=0; i<10; i++) {
C = A[i];
A[i] = A[19-i];
A[19-i] = C;
}
System.out.println("\nA:");
for (i=0; i<20; i++) {
System.out.printf("%.1f\t", A[i]);
if (i==9) System.out.println();
}
}
}
它的工作,谢谢你救了我!d –