2012-01-24 3 views
0

- 나는 주사위를 굴릴 횟수와 주사위를 굴릴 횟수를 묻는 프로그램을 작성하려고합니다. 나는 M 배 N6 또는 여섯 개의 양면 주사를 반복해야하고 총 롤 합계를 계산하고 기록해야합니다. 배열을 사용할 때마다 6 ~ 6N이 가능한 백분율과 함께 여러 번보고해야합니다.주사위 배열 프로그램에 관해서

여기 내 코드가 있습니다. 컴파일 할 수 없으며, 완전히 잘못되어 가고 있습니다. 우리는 자바를 가르치는 한 명의 교수가 있습니다. 그는 설명하는 것을 잘하지 못하고 언제나처럼 보입니다. 서둘러 질문을하면. 이것은 제 두 번째 학급입니다. 나는 첫 학기에 거의 아무것도 배웠습니다. ////////////////////////////////

import java.util.Random; 
    import java.util.Scanner; 

    public class Lab1 
    { 
    public static Scanner in = new Scanner (System.in); 
     public static void main (String[] args) 

{ 
     int dice = 0; 
     int roll = 0; 
     while (true) 
    { 
     System.out.print ("How many dice do you roll?"); 
      dice = in.nextInt(); 
     } 


     System.out.print ("How many Times do you want to roll?"); 
      roll = in.nextInt(); 
      } 
     int dicetotal = Dicecount (dice); //Error message. dice cannot be resolved to Variable// 
     for (int i = 0; i< roll; i++) 

     System.out.println (Dicecount (dice)); 
      } 
     } 
     public static int Dicecount (int dice); 
     { 
     int dicetotal = 0; 
     for (int x = 0: x < dice; x++) 
     { 
     int rollcount = (int) (1+6* (Math.random())); 
     dicetotal+=rollcount;} 
    return dicetotal; 
    } 
     } 
+1

스택 오버플로에 오신 것을 환영합니다! 서면으로 귀하의 질문은 여기에 답변을 얻지 못할 수 있습니다. 어떤 컴파일러 오류가 있습니까? 문제가 뭐라고 생각하니? 지금까지 뭐 해봤 어? – templatetypedef

+0

컴파일러 오류를 제공하면 더 많은 응답을 받게됩니다. – Brigham

답변

1

제대로 코드를 포맷합니다. 그러면 다음과 같이 시작하는 6 줄을 찾을 수 있습니다.

int dicetotal = Dicecount (dice); 

기능 블록 내에 있지 않아야합니다.

또한이 라인 대신 세미콜론의 콜론이

은 (~ 바닥에서 7) : 코드가 성공적으로 컴파일 할 수 있도록이 오류를 해결

for(int x = 0; x < dice; x++){ 

- 그러나 그것은 의미하지 않는다 네가 원하는대로 할거야. this is homework부터이 문제를 발견하고 적어도 직접 문제를 해결해야합니다. 이 코드가있는 것 같습니다

+0

맞아, 고맙습니다. 빠른 답변을 주셔서 감사합니다, 나는 그 작은 오류를 간과했습니다. 좋아,이 사이트의 숙제에 관한 정책은 무엇입니까? 일반적으로 사람들은 모두 반대하지만, 나를 위해 그것을 할 사람을 요구하지 메신저, 바로 올바른 방향으로 나를 밀어. –

+0

좋은 정보 주셔서 감사합니다! 나는 오류를 수정했지만 이것에 문제가있다. 그것은 빈 세트를 요구하지만, 나는 하나를 제공 할 때 그냥 묻는다. {int dicetotal = Dicecount (주사위); for (int i = 0; i

0

다른 두 가지 문제 :

1) 자바 메소드 이름에서 항상 소문자로 시작해야합니다. 여기에 dicecount이라는 메서드가 있습니다. 이것은 유효하지 않은 이름이며 Java 컴파일러를 혼란스럽게합니다.

2) Dicecount 메서드를 선언 한 행의 끝에는 세미콜론 권한이 있습니다. 이는 구문 오류이므로 코드가 컴파일되지 않거나 잘못 작동합니다. 그 이유는 세미콜론이 본질적으로 컴파일러에게 현재 라인이 완전한 문장임을 알려주고 있기 때문입니다. 그러나 그것은 끝나지 않았다. 당신은 여전히 ​​방법의 본문을 선언 할 필요가있다.

제 조언은이 public static int Dicecount (int dice);public static int dicecount(int dice)과 같이 변경하는 것입니다. 즉, 대문자를 제거하고 마지막에 세미콜론을 제거하십시오.