簡體   English   中英

填充Java 2D數組輸入

[英]Filling Java 2D array input

我試圖在2D數組中獲取用戶輸入。 如果可能,我不想使用java.util.Arrays

用戶輸入看起來像這樣,第一個整數是數字,第二個是整數的索引。

3 3
1 2
3 2

這就是我得到的

[3,3,1][2,3,2][][][][]

這就是我想要的

[][1,3][3][][][]

int x = sc.nextInt();
int array[][] = new int[6][x];

for (int i = 0; i < x; i++ ){
    for (int j = 0; j < x; j++) {
        array[i][j] = sc.nextInt();
    }   
}

System.out.println(Arrays.deepToString(array));

我希望您的意思是格式:

number index_to_add

這並不簡單,因為您不知道開始時數組中將有多少個數字。

我會使用像ArrayList等的集合。

如果您真的只想使用數組,則必須有一個上限。

ArrayList版本:

ArrayList<Integer>[] list = new ArrayList<Integer>[6];

//init
for(int i=0;i<list.length;i++){
    list[i] = new ArrayList<Integer>();
}

//fill
while(sc.hasNextInt()){
    int number = sc.nextInt();
    if(sc.hasNextInt()){
        int index_to_add = sc.nextInt();
        list[index_to_add].add(number);
    }else{
        break;
    }
}

注意:代碼未經測試;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM