2016-10-11 2 views
0

그래서 저는 길을 잃었습니다. 이것은 목표입니다 :주사위 굴림 시뮬레이션

6 면체 주사위를 몇 번 굴려야하는지 물어보십시오. 이 주사위를 무작위로 굴립니다. 1과 6 사이의 각 숫자가 몇 번 나타나는지 출력하십시오.

이 루프는 올바른 방향에 있습니까? 무엇부터 시작해야할까요? 정말 혼란 스러워요.

while(dice > 0) 
{ 
    rolldice = gen.nextInt(6) + 1; //(1-6) 
    if (rolldice == 1) 
    { 
     one++; 
    } 
    else if (rolldice == 2) 
    { 
     two++; 
    } 
    else if (rolldice == 3) 
    { 
     three++; 
    } 
    else if (rolldice == 4) 
    { 
     four++; 
    } 
    else if (rolldice == 5) 
    { 
     five++; 
    } 
    else if (rolldice == 6) 
    { 
     six++; 
    } 
} 
+0

오류가 발생합니까? 그 코드를 실제로 테스트 했습니까? – RamenChef

답변

0
Scanner in = new Scanner(System.in); 
Random gen = new Random(); 
int rollDice; 
int one = 0, two = 0, three = 0, four = 0, five = 0, six = 0; 

System.out.println("How many die do you want to roll: "); 

int dice = in.nextInt(); 

while(dice > 0) 
{ 
    rolldice = gen.nextInt(6) + 1; //(1-6) 
    if (rolldice == 1) 
    { 
     one++; 
    } 
    else if (rolldice == 2) 
    { 
     two++; 
    } 
    else if (rolldice == 3) 
    { 
     three++; 
    } 
    else if (rolldice == 4) 
    { 
     four++; 
    } 
    else if (rolldice == 5) 
    { 
     five++; 
    } 
    else if (rolldice == 6) 
    { 
     six++; 
    } 
    dice--; 
} 

이제 변수를 출력하면 완료됩니다.

switch 문을 사용하여이 작업을 수행 할 수도 있지만 사용하려는 경우 변환 방법을 알아 보도록하겠습니다.

+0

와우! 답장을 보내 주셔서 감사합니다. –

+0

그래서 "int [] dieTotal = new int [7];" 평균? –

+0

7 개의 공백으로 새로운 int 배열을 만듭니다. 배열은 인덱스 0에서 시작하기 때문에 1-6이 필요하므로 하나 더 필요합니다. –

0

Im 주사위 정수가 사용자의 입력이라고 가정합니다. 반복 할 때마다 주사위를 감소 시키면 사용자가 물어 본 횟수만큼 주사위를 굴릴 것입니다.

사용자가 여러 가지 diceroll을 아직 입력 할 수 있도록 구현했는지 확신 할 수 없으며, 스캐너를 살펴볼 때 도움이 필요한 경우.

관련 문제