ArrayList<String> listArray = new ArrayList<String>();
private void AddToListActionPerformed(java.awt.event.ActionEvent evt) {
String addTo = txtAdd.getText();
listArray.add(addTo);
}
private void randomPickerActionPerformed(java.awt.event.ActionEvent evt) {
}
在按钮randomPicker中,我想打印出我在数组中添加的随机字符串之一。你能帮我解决一下我应该在那个按钮里写的东西吗?
我试过了:
String random = (listArray[new Random().nextInt(listArray.length)]);
System.out.println(random);
它说我无法使用nextInt
答案 0 :(得分:1)
String random = (listArray[new Random().nextInt(listArray.length)]);
您正在使用数组的语法,而您的listArray
实际上是ArrayList
(您正在做其他地方list.add()
,这就是我猜的方式)。您需要调用ArrayList
的get方法,如下所示:
String random = listArray.get(new Random().nextInt(listArray.size()));
注意size()
方法,length
属性仅适用于数组。
答案 1 :(得分:0)
你可以这样做
Random ran = new Random();
String random = (String) list.get(ran.nextInt(list.size()));
System.out.println("random :"+rdom);
答案 2 :(得分:0)
这取决于你想要的东西。但是,通常有两件事。您可以使用课程Random
在ArrayList
中选择随机索引。
或者您可以使用集合java.util.Collections.shuffle()
方法。
public static void shuffle(List<?> list)
随机播放整个列表。
Random random = new Random();
int index = random.nextInt(listArray.size());
String random = listArray.get(index);
我的猜测是你来自c ++。 java中的ArrayLists由实际数组支持。但是,它们无法访问。你不要在它们上面调用.length,但是.size()