我正在尝试用Java制造一个简单的老虎机。但是,我不知道如何使数组随机化,以便数组的某个值一次返回x%。
例如,下面的代码,由于Fish将返回40%,Dragon将返回30%,Joke将返回25%,而Jackpot将一次返回5%,因此我想将结果随机化。
public class SlotMachine{
public static void main(String args[]){
String array[] = {"Fish", "Dragon", "Joker", "Jackpot"};
}
}
只需生成一个介于0和1之间的随机数,然后根据所需的逻辑选择一个数组元素:
double rand = Math.random();
String choice;
if (rand < 0.05) {
choice = array[3];
}
else if (rand < 0.30) {
choice = array[2];
}
else if (rand < 0.60) {
choice = array[1];
}
else {
choice = array[0];
}
System.out.println(choice);
尝试这样的事情:
import java.util.Random
public class SlotMachine{
public static void main(String args[]){
String array[] = {"Fish", "Dragon", "Joker", "Jackpot"};
Random rand = new Random();
// Obtain a number between [0 - 100].
if (rand.nextInt(100) <= 40) System.out.print('Fish ')
if (rand.nextInt(100) <= 30) System.out.print('Dragon ')
if (rand.nextInt(100) <= 25) System.out.print('Joker')
if (rand.nextInt(100) <= 5) System.out.print('Jackpot')
}
}
public static void main(String[] args) {
String array[] = {"Fish", "Dragon", "Joker", "Jackpot"};
Random random = new Random();
System.out.println(array[random.nextInt(array.length)]);
}