有一个数组{1,2,3,4,5},可以将该数组进行缩减,提示用户是否继续缩减,每次缩减最后那个元素。当只剩下最后一个元素时,提示,不能再缩减(end)。最后输出退出程序(you quit)。
(我是用sublime实现的)
import java.util.Scanner;
public class ArrayReduce{
public static void main(String[] args) {
int[] arr = {1,2,3,4,5};
Scanner scan = new Scanner(System.in);
do{
int[] arrNew = new int[arr.length - 1];//这一步很重要!放在do里面和外面结果大不相同!
for(int i=0;i<arrNew.length;i++){
arrNew[i] = arr[i];//拷贝数组
}
arr = arrNew;//引用传递arrNew -> arr
for(int i=0;i<arrNew.length;i++){
System.out.print(arr[i] + "\t");
}
System.out.println("reduce?y/n");
char key = scan.next().charAt(0);
if(key =='n'){
break;
}
if(arr.length == 1){
System.out.println("end");
break;
}
}while(true);
System.out.print("you quit");
}
}
运行结果: