我想從陣列中洗掉一個特定的數字
Integer[] arr = new Integer[7];
for (int i = 0; i < arr.length; i ) {
arr[i] = i;
}
Collections.shuffle(Arrays.asList(arr));
這是從 0-7 創建數字但我不需要 0,我需要 1-7 的值
uj5u.com熱心網友回復:
寫入陣列的第一個值是 0,因為i在 for 回圈中用 0 進行初始化。
因此您的回圈只會插入值 0 - 6。
將此初始化更改為i = 1,此外,您還需要將 for 回圈的條件更改為arr.length 1or i <= arr.length,因此它將計數到 7。
Integer[] arr = new Integer[7];
for (int i = 1; i < arr.length 1; i ) {
arr[i] = i;
}
除了改變回圈本身,你還可以做的是改變回圈體。將它分配給 arr[i] 時,只需在 i 上加 1:
for (int i = 0; i < arr.length; i ) {
arr[i] = i 1;
}
在這種情況下,我將從 0 數到 6,并將 1 到 7 分配給您的陣列
uj5u.com熱心網友回復:
改變你int i = 0對int i = 1這樣的:
Integer[] arr = new Integer[7];
for(int i = 1; i <8; i ){
int value = i-1;
arr[value] = i;
}
Collections.shuffle(Arrays.asList(arr));
for(int i = 0; i < arr.length; i ){
System.out.println("Result:" arr[i]);
}
控制臺訊息:
Result:7
Result:2
Result:6
Result:5
Result:4
Result:1
Result:3
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/371798.html
