私のプログラムでは、サイコロを投げたい回数をユーザーが選択できるようになっています。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ループは、ハッシュマップのキー1から6を初期化します。
for-loopは、X個のダイススローを計算し、それらをハッシュマップに追加します。
for-loopは、ハッシュマップの値を繰り返し処理し、結果を出力します。
'double'または' integer'の 'Average'ですか? –
@SanketMakaniダブルでお願いします:) – mackanmorre