没懂为什么进行for循环的时候, 不会递减, arr2=arr, arr=5=arr2了,在循环过程中,那么arr2【arr.length-1】 为什么不是4啊。
import java.util.Scanner;
public
class 数组缩减2 {
public static
void main ( String[] args ) {
int arr[] = {1, 2, 3, 4, 5, 6};
Scanner my = new Scanner ( System.in );
int arr2[];
for ( int i = 0 ; i < arr.length ; i++ ) {
System.out.println ( "是否要删除数组y/n" );
char b = my.next ( ).charAt ( 0 );
if ( b != 'n' ) {
arr2 = new int[arr.length - 1];
for ( int c = 0 ; c < arr2.length ; c++ ) {
arr2[c] = arr[c];
System.out.println ( arr2[c] );
}arr2=arr;
}
}
}
}
把arr2=arr 改成arr=arr2 就好了。
因为 arr2【arr2.length】=arr.length-1
当arr2 是arr1的地址的时候,数组永远是arr【】={1,2,3,4,5,6} arr2 永远是 arr-1, 不会实现循环递减
当arr=arr2时, arr2 递减了,arr2【】={1,2,3,4,5}