我的程序是求一个数组抽取几个数,程序如下:
import java.util.Scanner;
import java.lang.Math;
import java.util.Arrays;
class LotteryDrawing{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("请输入你创建的数组长度:");
int MAX_LENGTH = scan.nextInt();
System.out.println();
System.out.println("请输入你抽出数的个数:");
int count = scan.nextInt();
/*if(count > MAX_LENGTH){
System.out.println("超过数组范围,请重新输入:");
  count = scan.nextInt();
}*/
int[] numbers = new int[MAX_LENGTH];
for(int index = 0;index < MAX_LENGTH;index++){
numbers[index] = index + 1;
}
System.out.println("创建的数组为:");
for(int index = 0;index < numbers.length;index++){
System.out.print(numbers[index] + " ");
}
System.out.println();
int[] newNumbers = new int[count];
System.out.println("*********************");
for(int index1 = 0;index1 < newNumbers.length;index1++){
int r = (int)(Math.random()*MAX_LENGTH);
//测试数组索引
System.out.println("*********************");
System.out.println(r);
System.out.println(index1);
System.out.println("*********************");
//测试完毕
newNumbers[index1] = numbers[r];
numbers[r] = numbers[MAX_LENGTH];
MAX_LENGTH--;
}
Arrays.sort(newNumbers);
System.out.println("新数组为:");
for(int index2 = 0;index2 <count;index2++){
System.out.print(newNumbers[index2]+" ");
}
}
}在我测试的那个循环怎么老是报异常啊。总是报这个异常:ArrayIndexOutOfBoundsException
可是数组索引没错啊,真的好奇怪啊