在已知数组中插入一个数并进行排序,但是搞不懂为什么for循环中的 i 要小于array.length而不是小于result.length。
int array[]= {1,5,6,8,10,18,19,32};
int result[]=new int[array.length+1];
int x;
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个数:");
x=sc.nextInt();
result[result.length-1]=x;
for(int i=0;i<array.length;i++) {
result[i]=array[i];
}
array=result;
Arrays.sort(result);
for(int i=0;i<array.length;i++) {
System.out.println(result[i]);
}
这里不是赋值了么,array.length 和 result.length一样,随便写那个都行
因为for循环是在将array数组的值赋给result,要是用result.length那array就会数组越界,而且result的最后一位已经塞了x
你是说最后一个循环吗?因为前面有一句array = result;
因为result的长度比array大,用小于result会报错。