我正在试图弄清楚如何使用用户输入动态创建数组。我知道如何初始化一个数组,但我不知道如何允许用户初始化一个。这是我到目前为止:
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.print("Enter the size of the array (3 to 10): ");
Scanner user_input = new Scanner(System.in);
int size_of_array = user_input.nextInt();
while(size_of_array < 3 || size_of_array > 10) {
System.out.println("The size of the array entered is invalid.");
System.out.print("\nEnter the size of the array (3 to 10): ");
user_input = new Scanner(System.in);
size_of_array = user_input.nextInt();
}
ArrayList array = new ArrayList(size_of_array);
System.out.println("Initial size of array: " + array.size());
}
}
我认为ArrayList array = new ArrayList(size_of_array);
要做的伎俩,但数组的大小仍为0.希望有人可以帮助我。提前谢谢。
答案 0 :(得分:1)
数组列表的大小是动态的,因此您无需为其指定大小。最初创建列表时,大小为0.要创建列表,您所要做的就是:
isset($treedata)
如果您没有添加任何元素,那么大小将保持为0.向元素添加元素后,您可以调用//Make sure you define the type of data you want to store in your list
ArrayList<String> myList = new ArrayList<String>();
myList.add("Your String");
myList.size(); //returns a value of 1
方法。
如果要使用数组,则需要允许用户设置变量大小并执行以下操作:
size()
答案 1 :(得分:0)
您可以将ArrayList
的尺寸指定为Collections
的一部分,就像这样
List<X> list = Arrays.asList(new X[desiredSize]);
// where X is any Object type (including arrays and enums,
// but excluding primitives)
结果列表是可修改的,但不可调整大小(即add(e)
和remove(e)
不起作用,但set(index, e)
确实有效。
答案 2 :(得分:0)
根据您的问题,如果想要创建动态大小数组,请使用
int array[]=new int[size_of_array];
如果创建ArrayList,那么它已经是动态大小,不需要指定大小。
ArrayList<Integer> array = new ArrayList<>(size_of_array);
如果你这样做,那么你定义的是ArrayList的容量,它在初始容量已满时自动递增。
并在列表中添加元素,例如
array.add(45);
然后它的大小增加,它不会显示0。