[英]Is there a way to create an array in Java that is empty, but can have an indefinite amount
我正在 java 中開發一個程序,該程序將所有用戶輸入的數字帶入 -99 循環,我正在使用 Arrays 但我無法知道將輸入多少個數字。 我也是 java 的新手,我不太了解。 ` 進口 java.util.*; 公共 class ArrayComputing {
public int[] makeArray()
{
int[] nums = //where I need help
int numArray;
int i =0;
Scanner input = new Scanner(System.in);
boolean negative99=false;
while (negative99==false)
{
i++;
System.out.println("Enter a number");
numArray= input.nextInt();
if (numArray==-99)
{
break;
}
else
{
nums[i]=numArray;
System.out.println(Arrays.toString(nums));
}
}
return nums;
}
} `
如果您使用 List(特別是 ArrayList),它將滿足您的需求。 它可以在您將成員添加到列表時擴展,並且不會用完空間。 與 Array 不同,您需要提前分配空間並需要知道預期有多少成員。
您要的是Dynamic Array
抽象數據類型的一種行為,其中一個流行的實現是 Java 中的ArrayList
class 。
對於原始/內置new int[]{..}
數組, Java Specification
(以及大多數其他語言)要求您分配 memory 的特定段,為此,您需要提供大批。
在您的情況下, ArrayList
或LinkedList
會有所幫助。
數組是一種定義大小的結構,據我所知,它不能直接擴展或減小大小。
但是,您可以使用大小未定義的 ArrayList。
ArrayList<Integer> numberList = new ArrayList();
然后,您可以向其中“添加”值:
numberList.add(value);
The usage of ArrayList may be found here: https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html
您可以這樣做,直到您的計算機用完存儲 ArrayList 中包含的值的資源。
不幸的是,數組的長度不能為負。 它將拋出 NegativeArraySizeException。
無論如何,您可以先讓用戶定義一個長度,然后您可以創建一個具有此大小的長度。
public static int[] makeArray() {
Scanner input = new Scanner(System.in);
System.out.print("> ");
int in = input.nextInt();
int[] nums = new int[in];
int numArray;
int i =0;
//...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.