首页 > 解决方案 > 在java中找到两个随机数之间的平均值,然后计算一个数字用switch语句滚动了多少次

问题描述

你好,StackOverflow,

需要一些代码帮助的新问题。到目前为止,我正在制作一个随机数生成器,它将选择 1-100 之间的随机数进行滚动,然后为1-6 之间的数字滚动一个“骰子” 。然后它打印出每一卷和卷起来的数字,说是 1-100 之间的随机数。

我遇到的问题是这个。让我们简单地说,在 1-100 之间生成的随机数是 9,并且每次掷骰的顺序是

1、6、3、5、4、2、1、6、6

输出很好,平均也很好。我遇到的新问题是:

在程序中添加一个 switch 语句来跟踪每个数字出现的次数。

我对如何做到这一点有一个基本的想法,但我对如何实际执行并执行它有点困惑。请帮忙

我当前的代码:(更新:第一个问题已经解决,新问题上面说了)

        class Main {
  public static void main(String[] args) 
  {

    int rolls = (int)(Math.random()*100);
    System.out.println("Number of Rolls: "+ rolls);

    System.out.println(" ");
    System.out.println("Rolls\t\tNumber");

    double sum = 0;
    for (int i = 1; i <= rolls ; i++)
      {
        int dienumber = (int)(Math.random()*6+1);    
        sum += dienumber;
        System.out.println(i + "\t\t" + dienumber);
      }

    double average = sum /(1.0*rolls);

    System.out.println(" ");
    System.out.printf("%-2s%.2f\n","Average: ", average);

  }
}

再次感谢

标签: javarandomaverage

解决方案


将变量中的所有随机数相加,然后除以掷骰数

double sum = 0;
for (int i = 1; i <= rolls ; i++) {
    int dienumber = (int)(Math.random()*6+1);
    sum += dienumber;
    System.out.println(i + "\t\t" + dienumber);
}
double avg = sum / rolls;

推荐阅读