flag
arr1 = {1,2,3}
和 len1 = 3 必须在while循环的外面
在循环里需要 做len1--;
import java.util.Scanner; public class For02{ public static void main(String[] args){ Scanner myScanner = new Scanner(System.in); System.out.println("putin y or yes,y to-1"); int [] arr1 ={1,2,3}; int len1=arr1.length;//数组1的长度 System.out.println("len1:"+len1); boolean flag=true; while(flag){//数组2里有数值 System.out.println("putin y or yes,y to-1"); String str= myScanner.next();//输入的y或n //int [] arr = {4,-1,9,10,23}; if(str.equals("y")){ System.out.println("输入了y"); if(len1-1>0){ int [] arr2=new int[len1-1];//先开辟一个数组2的空间 //将数组1的值传递给数组2 for(int i=0;i<len1-1;i++){ arr2[i]=arr1[i]; } //打印新的数组 for(int i=0;i<len1-1;i++){ System.out.println(arr2[i]); } flag=true; len1--; }//结束if,保证数组2长度大于0 else{ flag=false; System.out.println("数组2长度不大于0 退出"); } }else{ for(int i=0;i<len1;i++){ System.out.println(arr1[i]); } }//结束else } }//main }