恐怕我對集合和數據結構的了解不足以處理涉及哈希集的類似問題。我目前有一個循環,它在一個隨機化數組中的索引的程序中。傳入該方法的原始數組由所有小于 1,000 的素數組成。不包括完整的課程,因為它是更大的家庭作業的一部分。我的問題是我創建的 if 語句重復打印出數字,即使我認為我將它編碼為僅在數字已經不在數組中時才打印出數字。有人可以指出我的邏輯錯誤嗎?public static void shuffle(int[] intArray, String name){ assert intArray != null : "null!"; long seed = name.hashCode(); Random random = new Random(seed); for(int i = 0; i < 1000; i++) { int random_m = random.nextInt(intArray.length); int random_n = random.nextInt(intArray.length); int temp = intArray[random_m]; intArray[random_m] = intArray[random_n]; intArray[random_n] = temp; int zeroIndex = intArray[0]; List<Integer> myList = new ArrayList<Integer>(); if(!myList.contains(zeroIndex)) { System.out.println(zeroIndex); } myList.add(zeroIndex); }}輸出的部分示例:5821 5821 5821 5821 5821 5821 5821 5821 5821 5821 5821 5821
添加回答
舉報
0/150
提交
取消