簡體   English   中英

打印從數組列表中隨機刪除的元素,然后打印出更新的數組列表

[英]Printing a randomly removed element from an array list, then printing out the updated array list

因此,我在從數組列表中打印出隨機選擇的元素,然后在其中沒有該隨機元素的情況下打印更新的數組列表時遇到了問題。 每次打印更新的列表時,它都會給我arraylist減去隨機選擇的元素,再減去另一個元素。

import java.util.ArrayList;
import java.util.Scanner;
import java.util.Random;

public class LabPartyGuests   {
   public static void main(String[] args) {
      int numberOfGuests = 4;
      Scanner input = new Scanner(System.in);
      Random rand = new Random();
      ArrayList<String> guestList = new ArrayList<String>();

      System.out.println("Please enter 4 guests: ");
      System.out.print("guest1: ");
      String guest1 = input.nextLine();
      System.out.print("guest2: ");
      String guest2 = input.nextLine();
      System.out.print("guest3: ");
      String guest3 = input.nextLine();
      System.out.print("guest4: ");
      String guest4 = input.nextLine();

      for (int i = 0; i <= 0; i++)   {
         guestList.add(guest1);
         guestList.add(guest2);
         guestList.add(guest3);
         guestList.add(guest4);
      }
      System.out.println();
      System.out.print("Guest list: " + guestList);
      System.out.println();

      guestList.remove(rand.nextInt(4));
      System.out.printf("%s can't come %n", guestList.remove(rand.nextInt(4)));
      for (int i = 0; i < guestList.size(); i++)   {
         guestList.size();
      }  
      System.out.print(guestList);
   }
}

您要刪除兩個元素:

  guestList.remove(rand.nextInt(4)); // one
  System.out.printf("%s can't come %n", guestList.remove(rand.nextInt(4))); // two

如果要打印已刪除的元素,請存儲第一個remove的輸出,而不是兩次調用remove:

  String removed = guestList.remove(rand.nextInt(4));
  System.out.println("removed element " + removed);

暫無
暫無

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

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