java定义一个从键盘输入不定长的数组

由于在java中数组只有两种:固定长度的数组和空的数组,所以在理论上java中是不可以定义任意长度的数组的,但是我们可以通过两个数组互相赋值的方法来达到所需要的不定长数组。

  主要思路:先定义一个空的数组arr1,然后定义一个比arr1多一个长度的数组arr2,这时我们从键盘输入一个数存到a里面,然后通过for循环把arr1里面的值赋给arr2,由于第一次赋值中arr1是空的,所以arr2比arr1多一个长度所以现在arr2是长度为1且存的数是0,即arr2[0]=0,然后把存到a里面的数通过语句arr2[arr1.length]=a;复制到arr2里面,此时arr2的长度还是1但是里面的数值就是我们刚刚从键盘输入的数了,然后通过语句arr1=arr2;把数组arr2复制到arr1里面,这时我们从键盘中输入的数就存到arr1中了。然后通过循环语句不断从键盘输入数据,就可以达到从键盘输入一个不定长度的数组了。

代码如下:

public static void main(String[] args) {
		// TODO Auto-generated method stub
        int []arr1=new int[0];    //先定义一个空的数组arr1   
        int b=1;   
        while(b==1){ 
           int []arr2=new int[arr1.length+1];//紧接上句定义一个比arr1多一个长度的数组arr2
        		 System.out.println("请输入一个数:");
        	     Scanner input=new Scanner(System.in);  
        	     int a=input.nextInt();//从键盘输入数字然后存到a中
        	      
    
        	     for(int i=0;i<arr1.length;i++)//通过for循环把arr1数组的值给到arr2中
           	     {
           		  arr2[i]=arr1[i];           		 
           	     }
        	      
        	     arr2[arr1.length]=a;//把a里面存储的数字给到数组arr2,
        	     arr1=arr2;//再把arr2数组里面所有数值复制到arr1里面
          	    
        	      
       System.out.println("是否继续执行(除1外任意数字结束):");//判断是否需要继续输入数字
        	      Scanner input1=new Scanner(System.in);  
        	       b=input.nextInt();//若b的取值不为1的话就终止输入结束while循环
        	    
        	             }
		         
       for(int s:arr1){System.out.println(s);} //在循环结束后把数组arr1里面的数据打印出来
 	                                        }

希望大家多多点赞支持一下,也欢迎大家在评论区踊跃留言一起讨论

 

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值