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                                     
}

 

posted @ 2025-04-27 19:37  胖豆芽  阅读(2)  评论(0)    收藏  举报