模拟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' 包中。

更新于: 2023年7月20日

188 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告