字符串数组列表中的随机字符串

时间:2011-07-17 21:39:58

标签: java android

我有我的阵列中的国家/地区列表,我想从列表中随机选择国家/地区(可能随机使用?),但我自己没有找到答案...

这是我到目前为止所做的:

String[] list = {"Finland", "Russia", "Latvia", "Lithuania", "Poland"};
Random r = new Random();

7 个答案:

答案 0 :(得分:29)

尝试:

list[r.nextInt(list.length)];

答案 1 :(得分:1)

从字符串数组中拉出一个随机字符串会遇到类似的问题。 发现这个工作得相当好,我把它应用到一个按钮动作,所以每次点击都会随机绘制(我发现任何数组大小都有连续绘制的相同字符串的多个实例):

import java.util.*;
import java.util.Random.*;

class Countries {
    public Random g2 = new Random();
    public String[] list = new String[] { "Finland", "Russia",
            "Latvia", "Lithuania", "Poland" };
    String random2;
}

// Applied to a button action:
int INDEXn = g2.nextInt(list.length);
for (int i2 = 0; i2 < INDEXn; i2++) {
    random2 = (String) (list[INDEXn]);
}
System.out.println(random2 + '\n');

g2正在使用的INDEXn随机调用一个随机整数,在这种情况下,定义的字符串将从字符串数组list转换为整数值。 for循环在String数组中循环一次。 random2字符串将选定的整数从INDEXn转换为(list[INDEXn])中的相应字符串变量。

答案 2 :(得分:1)

static String getRandomString(){
        int r = (int) (Math.random()*5);
        String name = new String [] {"India","USA","UK","Russia"}[r];
        return name;
    }

答案 3 :(得分:0)

list[Math.floor(r.nextFloat()*5.99)]

答案 4 :(得分:0)

private void pickText(){ 
    textview textView1= (TextView) findViewById(R.Id.textView1)
    Random eventPicker = new Randorn();
    randomN = eventPicker.nextInt(3) +1; 

    switch (randomN){ 
        case 1: Intent a textview1.setText(StringOne);
        break; 

        case 2: textview1.setText(StringTwo);
        break; 

我在手机上输入了它的语法错误,但它确实有效。

答案 5 :(得分:0)

接受的答案对我不起作用,对我有用的解决方案是

List<String> myList = Arrays.asList("A", "B", "C", "D");

假设您在ArrayList以上,并且希望将其随机化

    Random r = new Random();

    int randomIndex = r.nextInt(myList .size());
    String randomElement = gabayo.get(myList );

如果您打印此randomElement变量,则会从ArrayList中获得随机字符串

答案 6 :(得分:0)

这是一行解决方案:

String country = new String[] {"Finland", "Russia", "Latvia", "Lithuania", "Poland"}[(int)(Math.random()*5)];