4
我有一個ArrayList的4個項目。我需要隨機刪除一個項目並顯示更新後的ArrayList。然而,我的隨機保持在數組列表中的第二個和第三個元素。據我的理解,我的隨機數會像這樣:0 1 2 3.這不就足以覆蓋我的4個元素嗎?爲什麼它繼續針對相同的索引?我嘗試增加隨機數(4)+ 1,但是這讓我超出了界限。當用戶隨機數生成的憤怒被設置爲數組的長度減一,如你的情況從arrayList中刪除隨機索引
Random rand = new Random();
Scanner input = new Scanner(System.in);
int numberOfGuests = 4;
ArrayList<String> guestList = new ArrayList<>(4);
System.out.println("Enter 4 guests:");
for(int i = 1; i <=numberOfGuests; i++){
System.out.printf("guest%d: ", i);
guestList.add(input.nextLine());
}
System.out.println("Guest List: " + guestList);
String remove = guestList.remove(rand.nextInt(4));
System.out.printf("%s can't come%n" , remove);
System.out.println("Guest List: " + guestList);
您的代碼按原樣複製的,我在當地的IntelliJ作品。 –
您的代碼適用於我。我已經使用4個預定義的客戶a,b,c和d在coderpad上運行了你的代碼。我正在運行它10次,你可以看到它的工作原理。鏈接是在這裏:https://coderpad.io/FPNDM4CD – cullan
你知道什麼夥計,我的壞。爲了得到所有的值,我必須運行15次以上,隨機發生的是在前5次運行時選擇相同的元素。 – mrKapplan