0
這是我第一次問這裏問題。在java中使用10個唯一數字組成的數組
我想從0到9 使的ArrayList有10個獨特的INT號我做下面的步驟:
- 創建空的ArrayList
- 添加第一個隨機數,所以後來我可以檢查重複
- 接下來,我創建了一個新的隨機int值,檢查ArrayList中是否已經有了這個值。如果我有 - 我嘗試另一個號碼,如果我沒有 - 我添加這個號碼。
- 如果我有10個號碼,我停止循環
我的代碼:
public static void main(String[] args) {
Random rd = new Random();
ArrayList<Integer> list = new ArrayList<Integer>();
int q = rd.nextInt(10);
list.add(q);
while (true) {
int a = rd.nextInt(10);
for (int b=0;b<list.size();b++){
if (a == list.get(b)) break;
else list.add(a);
}
if (list.size() == 10) break;
}
System.out.println(list);
}
但所有我在控制檯看到的是漫長的過程。
問題是 - 是否有另一種方法使ArrayList有10個唯一的數字(0到9)?
爲什麼[標籤:機器人]標籤?這個問題與Android編程有什麼關係(請注意,我已經刪除了標籤,因爲我覺得它可能不相關)?另外,要解決這個問題,請調試它。您只需將列表中的數據和「for」循環中的「a」值打印出來,就能明白爲什麼邏輯不起作用。 –
實際上,最簡單的解決方案是使用一個簡單的for循環來按順序填充列表,然後調用'Collections.shuffle(list)'來隨機化你的列表。達達,你完成了! –
這就是我剛剛說的@HovercraftFullOfEels –