【发布时间】:2015-11-03 21:09:16
【问题描述】:
为什么这样:线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException: 20 我需要根据 K 输入 20 个类型的双精度数,如果 k 为 0,所有 20 应该在 -10 和 20 之间随机,如果不是,他们有计算方法:A[i] = A[i-1]
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();
}
}
}
【问题讨论】:
标签: java