1

我正在尝试制作一个不询问用户值 i 的程序,其中 i 是数组元素的数量,(int[] someArray = new int[i])。我面临的两个问题,第一个是程序如何自动定位内存大小,第二个是面临不同类型数据的问题(我知道这个问题微不足道,但无法将逻辑放在一起)。基本上我的程序结构如下:

Scanner input = new Scanner(System.in);

int[] someArray;
int element;
String order;

while(!("done").equals(order=input.nextLine())){

   if(some integer){

   //set the user input as the value of array element, and change the pointer to the next element
   }

  if(some string other than "done"){

  System.out.println();
  //continues the loop

   }


}
4

2 回答 2

2

您可以只使用已经存在的不断增长的集合,例如ArrayList,LinkedList等。您可以添加任意数量的元素,它们会负责动态分配必要的空间。

于 2013-09-13T09:54:48.987 回答
0

这称为动态调整大小,具有摊销复杂度 O(n)。主要思想是每次数组变满时将数组大小加倍。对于实施细节,我会看看这里

PS:不要忘记将您的问题的一些答案标记为已解决,因为您似乎从未这样做过。

于 2013-09-13T09:52:19.013 回答