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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |