我有我的数组中的国家列表,我想从列表中选择随机国家(使用随机可能?),但我自己没有找到答案...字符串数组列表中的随机字符串
这是我到目前为止有:
String[] list = {"Finland", "Russia", "Latvia", "Lithuania", "Poland"};
Random r = new Random();
我有我的数组中的国家列表,我想从列表中选择随机国家(使用随机可能?),但我自己没有找到答案...字符串数组列表中的随机字符串
这是我到目前为止有:
String[] list = {"Finland", "Russia", "Latvia", "Lithuania", "Poland"};
Random r = new Random();
尝试:
list[r.nextInt(list.length)];
list[Math.floor(r.nextFloat()*5.99)]
为什么不是5.99而不是5.99? –
因为地板。你不会得到一个统一的分布,因为5只会是getFloat返回1.0时的结果。 – roni
但只有5个条目,所以你想要一个统一的分配0..4不是5. –
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;
我从我的手机中输入了这个语法错误,但它有效。
从一个字符串数组中拉出一个随机字符串会导致类似的问题。 发现这个工作得相当好,我把它应用到一个按钮动作使每点击一个随机的绘制(我与任何阵列尺寸发现有相同的字符串的多个实例被连续整个绘制):
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');
INDEXn
正在使用的g2
随机数正在调用一个随机整数,在这种情况下,已定义的字符串将转换为整数值,即字符串数组list
。 for循环一次循环遍历字符串数组。 random2字符串将所选的整数从INDEXn
转换为(list[INDEXn]
)中的相应字符串变量。
static String getRandomString(){
int r = (int) (Math.random()*5);
String name = new String [] {"India","USA","UK","Russia"}[r];
return name;
}
@roni:Burleigh Bear是正确的,值永远不会是list.length。根据Java文档:“返回一个伪随机数,均匀分布的int值在0(含)和指定的值**(不含)之间**” – TaylorP
谢谢先生,正是我所需要的。 –
@Burleigh Bear您能告诉我如何从该数组中随机选择一个字符串,并且每次都需要其他字符串。我的意思是如果我不想重复字符串值,那么在此代码中需要修改什么。 – Kunu