我的程序允許用戶選擇他要擲骰子的次數,然後程序輸出他得到骰子兩側的次數。Java,使用Math.random計算中位數和平均值
到目前爲止一切都很好,但是我必須計算所有這些投擲骰子的中位數和平均值,我希望平均數和中位數的範圍爲1-6,相當於骰子有多少面- 我怎麼做?
import java.util.Scanner;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
public class Uppgift4_5
{
public static void main(String[] args)
{
Scanner inputReader = new Scanner(System.in);
System.out.println("How many times do you want to throw the dice:");
int amount = inputReader.nextInt();
System.out.println("Antal försök:" + amount);
Map<Integer, Integer> rolls = new HashMap<>();
for (int i = 1; i < 7; i++)
{
rolls.put(i, 0);
}
for (int i = 0; i < amount; i++)
{
int value = (int) (Math.random() * 6 + 1);
rolls.put(value, rolls.get(value) + 1);
}
for (Map.Entry<Integer, Integer> entry : rolls.entrySet())
{
System.out.println(("Antal kast som gav "+entry.getKey()) + ": " + entry.getValue());
}
}
}
第一個for-loop會初始化散列表中的鍵1到6。
第二個for-loop計算X個擲骰子數並將它們添加到hashmap中。
第三個for-loop循環遍歷hashmap中的值並打印出結果。
'double'或'integer'中的'Average'? –
@SanketMakani雙倍請平均:) – mackanmorre