在Java中从arraylist中重复选择和删除随机项
编写一个程序,反复选择和删除一个随机入口 来自arraylist。直到数组不再容纳任何条目 我很难在这里重复它。因为每次arraylist位置都是随机的。当随机数为0时,我还需要边大小写。在Java中从arraylist中重复选择和删除随机项,java,Java,编写一个程序,反复选择和删除一个随机入口 来自arraylist。直到数组不再容纳任何条目 我很难在这里重复它。因为每次arraylist位置都是随机的。当随机数为0时,我还需要边大小写。 无论如何,下面是我的代码。那么怎么做呢 import java.util.ArrayList; import java.util.Random; public class R3_1 { public ArrayList<String> cars = new ArrayList<St
无论如何,下面是我的代码。那么怎么做呢
import java.util.ArrayList;
import java.util.Random;
public class R3_1 {
public ArrayList<String> cars = new ArrayList<String>();
{cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");}
public String removeentry() {
int size = cars.size();
Random rn = new Random();
int a = rn.nextInt(size) ;
System.out.println(cars.get(a));
cars.remove(a);
a = a-1;
System.out.println(cars.get(a));
cars.remove(a);
a = a-1;
System.out.println(cars.get(a));
cars.remove(a);
System.out.println(cars.get(a));
cars.remove(a);
return "done";
}
}
import java.util.ArrayList;
导入java.util.Random;
公共类R3_1{
public ArrayList cars=new ArrayList();
{cars.add(“沃尔沃”);
加上(“宝马”);
汽车。添加(“福特”);
汽车。添加(“马自达”);}
公共字符串removentry(){
int size=cars.size();
Random rn=新的Random();
int a=rn.nextInt(尺寸);
System.out.println(cars.get(a));
车辆。移除(a);
a=a-1;
System.out.println(cars.get(a));
车辆。移除(a);
a=a-1;
System.out.println(cars.get(a));
车辆。移除(a);
System.out.println(cars.get(a));
车辆。移除(a);
返回“完成”;
}
}
我建议使用while
循环,在给定新列表大小的情况下,您每次都会询问新的随机值
public String removeentry() {
Random rn = new Random();
int a;
String removed;
while (!cars.isEmpty()) {
a = rn.nextInt(cars.size());
removed = cars.remove(a);
System.out.println(removed);
}
return "done";
}
也可以使用for
循环
public String removeentry() {
Random rn = new Random();
int a;
String removed;
for (int i = cars.size(); i > 0; i--) {
a = rn.nextInt(i);
removed = cars.remove(a);
System.out.println(removed);
}
return "done";
}
我建议使用
while
循环,根据新列表的大小,每次都会询问新的随机值
public String removeentry() {
Random rn = new Random();
int a;
String removed;
while (!cars.isEmpty()) {
a = rn.nextInt(cars.size());
removed = cars.remove(a);
System.out.println(removed);
}
return "done";
}
也可以使用for
循环
public String removeentry() {
Random rn = new Random();
int a;
String removed;
for (int i = cars.size(); i > 0; i--) {
a = rn.nextInt(i);
removed = cars.remove(a);
System.out.println(removed);
}
return "done";
}
公共字符串removentries(){
随机=新随机();
整数大小,a;
//执行,直到列表为空(因此'cars.size()==0`)
而((size=cars.size())>0){
//选择随机索引
a=随机。nextInt(大小);
//输出对象
System.out.println(cars.get(a));
//从列表中删除对象
车辆。移除(a);
}
返回“完成”;
}
公共字符串删除入口(){
随机=新随机();
整数大小,a;
//执行,直到列表为空(因此'cars.size()==0`)
而((size=cars.size())>0){
//选择随机索引
a=随机。nextInt(大小);
//输出对象
System.out.println(cars.get(a));
//从列表中删除对象
车辆。移除(a);
}
返回“完成”;
}
使用for
循环。当数组列表不为空时,使用for
或循环长度
次。在循环体中,选择一个介于0和数组当前长度之间的随机数。删除指定的索引。完成。使用for
循环。当数组列表不为空时,使用for
或循环长度
次。在循环体中,选择一个介于0和数组当前长度之间的随机数。删除指定的索引。完成。