토요일 자바 공부

빵형 책을 ch5까지 보고 진도 나간것을 활용해서 “1~3까지의 랜덤 숫자를 여러번 돌려보고 분포 확인” 코드를 짜보았다.

‘’’
Scanner sc = new Scanner(System.in);
System.out.println(“How many trial?”);
System.out.print(“>”);
int trial = sc.nextInt();

    for(int z = 0 ; z < 10; z++)
    {
        int num = 0;
        Random random = new Random();
        int[] cnt = { 0, 0, 0, 0 };
        
        for(int x = 0 ; x < trial ; x++ )
        {
            num = random.nextInt(3)+1;
        //    System.out.printf("%dth 난수: %d\n", x+1, num);
            cnt[num]++;
        }
        
        System.out.println("=======================================");        
        System.out.println(trial + " many trial > randome gen");
        System.out.println("=======================================");
        for(int x = 1; x < 4; x++)
        {
            System.out.println("[" + x +"]" + " ->" + ((float)cnt[x]/trial) *100+" % many");
        }
    }
    System.out.println("================END====================");
}

100 many trial > randome gen

[1] ->39.0 % many
[2] ->33.0 % many
[3] ->28.0 % many

1000 many trial > randome gen

[1] ->34.2 % many
[2] ->32.7 % many
[3] ->33.1 % many

100000 many trial > randome gen

[1] ->33.293 % many
[2] ->33.335 % many
[3] ->33.372 % many
‘’’

100번, 1,000번, 100,000번 돌려보니 많이 돌리면 돌릴수록 33.33% 으로 수렴되는 것을 볼수 있다.