打印从数组列表中随机删除的元素,然后打印出更新的数组列表
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
如果要打印删除的元素,请存储第一次删除的输出,而不是调用两次删除:
String removed = guestList.remove(rand.nextInt(4));
System.out.println("removed element " + removed);
所以我在从数组列表中打印出随机选择的元素然后打印更新后的数组列表时遇到了问题,其中没有该随机元素。每次我打印更新的列表时,它都会给我 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
如果要打印删除的元素,请存储第一次删除的输出,而不是调用两次删除:
String removed = guestList.remove(rand.nextInt(4));
System.out.println("removed element " + removed);