A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张丽 中级黑马   /  2012-10-1 15:14  /  1652 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请教:如何从键盘输入一个任意长度的,由数字组成的数组?

5 个回复

倒序浏览
大姐,您说是人机交互还是咋的。
人机交互的话:C语言用scanf实现动态输入,C++用Cin实现动态输入,而java可能要用图形化界面来实现。
看你的题应该是定义一定长度的数组,然后你随便往里添加数据,只要不溢出就是任意长度。
回复 使用道具 举报
⊙﹏⊙b汗,肯定是人机交互,只是数组长度没法固定,我输入几个数,数组长度就为几,而且是用java语言编写。
回复 使用道具 举报
本帖最后由 叶征东 于 2012-10-1 17:39 编辑

用ArrayList集合吧.
回复 使用道具 举报
数组的长度只能是固定的,如果要改变其长度,只能新建一个数组,然后把新数组的引用赋值给原来的数组,还要把原来数组的内容复制到新数组。这样一来就不如用集合来的方便了。楼主可以考虑使用ArrayList集合类,虽然它的底层还是用的数组来存储数据,但是这些就不用我们操心了,ArrayList自带的方法会替我们去管理的。如果还要考虑线程安全的问题,那可以使用CopyOnWriteArrayList集合类,具体使用方法可以参考文档与源码

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 赞一个!

查看全部评分

回复 使用道具 举报
是使用形参长度可变的方法吧,就是在定义方法时,在最后一个形参的类型后面增加三个...,则表明该形参可以接受多个参数值,多个参数值被当做数组传入。
给给实例看看吧:
  1. class Varags
  2. {
  3.         //定义了形参长度可变的方法
  4.         public static void test(int...books)
  5.         {
  6.                 //books当做数组处理
  7.                 for(int temp : books)
  8.                 {
  9.                         System.out.println(temp);
  10.                 }
  11.         }
  12.         public static void main(String[] args)
  13.         {
  14.                 调用形参可变方法
  15.                 test(4,5,6,7,8,9);
  16.         }
  17. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马