【发布时间】:2017-01-27 10:53:31
【问题描述】:
我无法计算出一对骰子掷出的总和的频率。我被告知我必须使用一维整数数组来计算每个可能的总和出现在 36000 卷中的次数。我不确定我应该做什么,因为我们刚刚开始检查数组。这是说明的链接:http://s65.photobucket.com/user/jls7884/media/DicePic-page-001_zpsd45d977f.jpg.html?filters[user]=139936213&filters[recent]=1&sort=1&o=0。
这是我目前的代码:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package Dice;
/**
*
* @author Jacob
*/
import java.util.Random;
public class Dice
{
public static void count1 ()
{
int count;
int frequency[] = new int[7];
frequency[1] = 2;
count = 1;
while (count <= 6)
{
frequency[count] = count + 1;
count++;
}
System.out.printf
(
"%-2d %-2d %-2d %-2d %-2d %-2d \n"
, frequency [1] , frequency [2] , frequency [3] , frequency [4] , frequency [5] , frequency [6]
);
}
public static void count2 ()
{
int count;
int frequency[] = new int[8];
frequency[1] = 3;
count = 1;
while (count <= 6)
{
frequency[count] = count + 2;
count++;
}
System.out.printf
(
"%-2d %-2d %-2d %-2d %-2d %-2d \n"
, frequency [1] , frequency [2] , frequency [3] , frequency [4] , frequency [5] , frequency [6]
);
}
public static void count3 ()
{
int count;
int frequency[] = new int[7];
frequency[1] = 4;
count = 1;
while (count <= 6)
{
frequency[count] = count + 3;
count++;
}
System.out.printf
(
"%-2d %-2d %-2d %-2d %-2d %-2d \n"
, frequency [1] , frequency [2] , frequency [3] , frequency [4] , frequency [5] , frequency [6]
);
}
public static void count4 ()
{
int count;
int frequency[] = new int[7];
frequency[1] = 5;
count = 1;
while (count <= 6)
{
frequency[count] = count + 4;
count++;
}
System.out.printf
(
"%-2d %-2d %-2d %-2d %-2d %-2d \n"
, frequency [1] , frequency [2] , frequency [3] , frequency [4] , frequency [5] , frequency [6]
);
}
public static void count5 ()
{
int count;
int frequency[] = new int[7];
frequency[1] = 6;
count = 1;
while (count <= 6)
{
frequency[count] = count + 5;
count++;
}
System.out.printf
(
"%-2d %-2d %-2d %-2d %-2d %-2d \n"
, frequency [1] , frequency [2] , frequency [3] , frequency [4] , frequency [5] , frequency [6]
);
}
public static void count6 ()
{
int count;
int frequency[] = new int[7];
frequency[1] = 7;
count = 1;
while (count <= 6)
{
frequency[count] = count + 6;
count++;
}
System.out.printf
(
"%-2d %-2d %-2d %-2d %-2d %-2d \n"
, frequency [1] , frequency [2] , frequency [3] , frequency [4] , frequency [5] , frequency [6]
);
}
public static void main(String[] args)
{
int num1 = 1;
int num2 = 2;
int num3 = 3;
int num4 = 4;
int num5 = 5;
int num6 = 6;
int num = 0;
while (num < 7)
{
System.out.printf ("%-3d", num++);
}
System.out.println ();
System.out.printf ("%d: ", num1);
Dice.count1 ();
System.out.printf ("%d: ", num2);
Dice.count2 ();
System.out.printf ("%d: ", num3);
Dice.count3 ();
System.out.printf ("%d: ", num4);
Dice.count4 ();
System.out.printf ("%d: ", num5);
Dice.count5 ();
System.out.printf ("%d: ", num6);
Dice.count6 ();
String sumStr = "Sum";
String frequencyStr = "Frequency";
String percentageStr = "Percentage";
System.out.printf ("%-5s %-12s %s", sumStr, frequencyStr, percentageStr);
System.out.println ();
Random rollDie = new Random ();
for (int i = 1; i <= 36000; i++)
{
int die1 = 1 + rollDie.nextInt ((6));
int die2 = 1 + rollDie.nextInt ((6));
int sum = die1 + die2;
}
int count = 2;
while (count <= 12)
{
int frequency = 1003;
double minusFrequency = 36000 - frequency;
double divideTotal = minusFrequency / 36000;
double percentageTotal = divideTotal * 100;
double calculatePercentage = 100 - percentageTotal;
double percentage = calculatePercentage;
int sumCount = count++;
System.out.printf ("%3d %11d %12.1f%% \n",sumCount, frequency, percentage);
}
}
}
任何帮助将不胜感激。
谢谢,雅各布
【问题讨论】: