我有一个简单的问题。我尝试从容器RandomList中获取随机值。它可以和String和int一起工作,但是不能和double一起工作,以及如何解决它?随机双列表不显示随机变量
谢谢
import java.util.*;
public class RandomList<T> {
private ArrayList<T> storage = new ArrayList<T>();
private Random rand = new Random(47);
public void add(T item) { storage.add(item); }
public T select() {
return storage.get(rand.nextInt(storage.size()));
}
public static void main(String[] args) {
RandomList<String> rs = new RandomList<String>();
RandomList<Integer> rs1 = new RandomList<Integer>();
RandomList<Double> rs2 = new RandomList<Double>();
double w = 1.23;
for(String s: ("The quick brown fox jumped over " +
"the lazy brown dog").split(" "))
rs.add(s);
for(int i = 0; i < 11; i++)
System.out.print(rs.select() + " ");
for (int i = 0; i < 5; i++)
rs1.add(i);
for (int i = 0; i < 5; i++)
System.out.print(rs1.select() + " ");
for (int i = 0; i < 5; i++)
w = (double)i/5;
rs2.add(w);
for (int i = 0; i < 5; i++)
System.out.print(rs2.select() + " ");
}
}
输出超狐快速快速狗棕色棕色懒棕色3 0 3 1 1 0.8 0.8 0.8 0.8 0.8棕色,所以它适用于字符串和INT,但不会对双倍(每次相同的值)。