加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java:如果不知道如何初始化数组大小?

发布时间:2020-12-14 16:24:12 所属栏目:Java 来源:网络整理
导读:我要求用户输入1到100之间的数字,并将它们分配到数组中.数组大小未被初始化,因为它取决于用户输入数字的次数. 我应该如何分配数组长度? 如果用户输入5 6 7 8 9(5个数字),则 int[] list; 变 int[] list = new int[5]; 我试图使用一个循环,但它不会停止. int[
我要求用户输入1到100之间的数字,并将它们分配到数组中.数组大小未被初始化,因为它取决于用户输入数字的次数.
我应该如何分配数组长度?
如果用户输入5 6 7 8 9(5个数字),则
int[] list;

int[] list = new int[5];

我试图使用一个循环,但它不会停止.

int[] integers;
int j = 0;
do {
       integers = new int[j + 1];
       integers[j] = in.nextInt(); 
       j++;      
} while((integers[j-1] >= 1) ||(integers[j-1]) <= 100);

解决方法

你应该使用 List这样的东西,而不是数组.作为一般的经验法则,当您不知道要在手之前添加到数组中的元素数量,请改用List.大多数人可能会通过使用 ArrayList来解决这个问题.

如果您真的不能使用列表,那么您可能必须使用一些初始大小(可能是10?)的数组,并跟踪您的数组容量,而不是添加多少元素,并将元素复制到一个新的更大的数组,如果你用完了(这本质上是ArrayList在内部做的).还要注意,在现实世界中,你永远不会这样做 – 你将使用专门为这样的案例制作的标准类之一,例如ArrayList.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读