Java 模拟N个骰子的程序
假设我们有N个骰子,一次性投掷所有骰子,然后我们需要显示所有骰子上出现的值。我们将使用Java程序来模拟相同的情况。为了解决这个问题,我们将使用一个名为’Random’的类,它属于’java.util’包。
模拟N个骰子的Java程序
Random类
我们创建这个类的对象来在给定范围内生成伪随机数字。我们将自定义这个对象,并应用我们自己的逻辑来选择指定骰子上的任意随机值。为了从骰子中获取值,我们需要一个名为’nextInt()’的内置方法,它返回指定序列中的下一个整数值。
以下是创建Random类对象的语法:
语法
Random nameOfObject = new Random();
示例1
在下面的示例中,我们将使用类’Random’来模拟掷骰子1次。
方法
- 创建一个名为’rndm’的’Random’类对象。
-
声明并初始化一个名为’noOfdice’的变量,表示骰子的数量。
-
使用for循环遍历总共的骰子数,并使用’rndm’对象和’nextInt()’方法打印骰子的值。
-
我们将使用6作为’nextInt()’方法的参数,并在其上加1,因为骰子的值为1到6。如果我们不加1,可能会打印0。
代码
import java.util.*;
public class Dice {
public static void main(String[] args) {
Random rndm = new Random();
int noOfdice = 5;
System.out.print("Occurrence of values on dice: ");
for (int i = 0; i < noOfdice; i++) {
System.out.print(rndm.nextInt(6) + 1);
System.out.print(" ");
}
}
}
输出
Occurrence of values on dice: 6 2 1 5 1
示例2
在下面的示例中,我们将使用类“Random”来模拟掷骰子2次。
方法
- 我们将修改上面的示例程序,并使用while循环将“occurrence”的值设置为2,以便打印值2次。
代码
import java.util.*;
public class Dice {
public static void main(String[] args) {
Random rndm = new Random();
int noOfdice = 5;
int occurrence = 2;
while(occurrence != 0) {
System.out.print("Occurrence of values on dice: ");
for (int i = 0; i < noOfdice; i++) {
System.out.print(rndm.nextInt(6) + 1);
System.out.print(" ");
}
System.out.println();
occurrence--;
}
}
}
输出
Occurrence of values on dice: 4 6 2 3 2
Occurrence of values on dice: 2 6 3 2 4
示例3
在下面的示例中,我们将使用类’Random’来模拟掷骰子n次。
方法
- 再次,我们将修改上面的示例代码。我们将在do-while循环中编写我们的逻辑。
-
首先,从用户处获取骰子的数量。在do块中,迭代总共的骰子数,并打印骰子的值。
-
然后,我们询问用户是否继续。如果用户输入1,整个过程将重复,如果用户输入0,我们退出程序。
代码
import java.util.*;
public class Dice2 {
public static void main(String[] args) {
Random rndm = new Random();
System.out.println("Enter how many dice you have: ");
Scanner sc = new Scanner(System.in);
int noOfdice = sc.nextInt();
do {
System.out.print("Occurrence of values on dice: ");
for (int i = 0; i < noOfdice; i++) {
System.out.print(rndm.nextInt(6) + 1);
System.out.print(" ");
}
System.out.println();
System.out.println(" Press 1 to continue! 0 to exit! ");
} while(sc.nextInt() == 1);
}
}
输出
Enter how many dice you have:
3
Occurrence of values on dice: 5 2 3
Press 1 to continue! 0 to exit!
1
Occurrence of values on dice: 4 3 1
Press 1 to continue! 0 to exit!
0
结论
在本文中,我们讨论了三个示例程序,用于模拟一个骰子”N”次。我们定义了一个自定义逻辑,并将其应用于”Random”类的对象,以从骰子中选择和检索项目。Random类位于”java.util”包中。