2014-01-30 4 views
-5

이 코드를 컴파일하려고하면 컴파일 오류가 계속 발생합니다. 코드는 다음과 같습니다. 내가 수신하고컴파일 오류 Java

import java.util.Scanner; 

public class BaseballPitcher 
{ 
    private final int MAX_GAMES = 15; 
    private gamesPitched[]; 
    private int totalGames; 
    private int totalRuns; 
    private float totalInnings; 
    private double ERA; 

    public BaseballPitcher() 
    { 
     gamesPitched = new GamePitched[]; 
    } 
    public void inputGameData() 
    { 
     Scanner input = new Scanner (System.in); 

     do 
     { 
      System.out.printf ("How many games will you enter (up to %d): ", MAX_GAMES); 
      totalGames = input.nextInt(); 

      if (totalGames <= 0 || totalGames > MAX_GAMES) 
      { 
       System.out.printf ("Error: You may only enter up to %d games" + " - Please try again\n\n", MAX_GAMES); 
      } 
     } while (totalGames <= 0 || totalGames > MAX_GAMES); 

     for (int x = 0, x < totalGames, x++) 
     { 
      gamesPitched[x] = new GamePitched(); 
      gamesPitched[x].inputGame(); 
     } 
    } 
} 

컴파일 오류는 다음과 같습니다

[Please list your compile error or errors]. 

는 이유는 컴파일 오류는 무엇입니까?

+9

왜 당신이 우리를 말할 것 당신이 오류를 얻을 수 있지만, 그들이 무엇인지 말해주지에게 있어야합니다 논리

다른 클래스에 대해 아무것도 말할 수 없다? 당신이 아무런 노력을하지 않고도 우리가 그것을 고치기를 원하는 것처럼 보입니다. –

+0

작업 코드를 적용하기 위해 적용해야하는 변경 사항의 수를 제한하는 방법은 무엇입니까? –

답변

4

GamePitched이라는 사용자 지정 클래스가있는 것으로 보입니다. 배열 gamesPitched[]은이 유형의 배열로 간주 될 수 있지만 형식이 없으면이를 선언했습니다. 시도하십시오 private GamePitched[] gamesPitched;

루프는 구문 오류가 있습니다. ,;이어야하며 for 루프의 절을 구분하는 데 사용됩니다.

스택 추적에 제공된 오류를 읽어야합니다. 비록 당신이 Java에 익숙하지 않더라도 상당히 기술적이며 문제가있는 곳을 확인하는 데 도움이됩니다.

+0

사실, 거기에서 알아낼 수있었습니다. 내 주요한 문제는 배열에 불과했다. 모두에게 제안 해 주셔서 감사합니다. 이 질문이 슬프게해서 죄송합니다.이 사이트를 처음 사용하는 것입니다. – user3023969

+1

이 기능을 사용하려면 한 번 더 변경해야합니다. 'do-while' 루프와'for' 루프 사이에'gamesPitched = new GamePitched [totalGames];가 필요합니다. 그렇지 않으면 배열에 아무것도 들어갈 공간이 없습니다. –

0

음이 그것을 좋아하는 방법, 내가

import java.util.Scanner; 

public class BaseballPitcher 
{ 
    private final int MAX_GAMES = 15; 
    private GamePitched[] gamesPitched; 
    private int totalGames; 
    private int totalRuns; 
    private float totalInnings; 
    private double ERA; 

    public BaseballPitcher() 
    { 
     gamesPitched = new GamePitched[10]; 
    } 
    public void inputGameData() 
    { 
     Scanner input = new Scanner (System.in); 

     do 
     { 
      System.out.printf ("How many games will you enter (up to %d): ", MAX_GAMES); 
      totalGames = input.nextInt(); 

      if (totalGames <= 0 || totalGames > MAX_GAMES) 
      { 
       System.out.printf ("Error: You may only enter up to %d games" + " - Please try again\n\n", MAX_GAMES); 
      } 
     } while (totalGames <= 0 || totalGames > MAX_GAMES); 

     for (int x = 0; x < totalGames; x++) 
     { 
      gamesPitched[x] = new GamePitched(); 
      gamesPitched[x].inputGame(); 
     } 
    } 
} 

적어도 컴파일 할 생각입니다. 적어도이 방법

public class GamePitched { 

    public void inputGame() { 
     // TODO Auto-generated method stub 

    } 

}