2016-03-26 7 views
-2

私はちょうどJavaを学び始める。私は本書からこのコードを引用した。しかし、それは実行できません。私を助けてください!!私はこのコードに固執しています

public class Player { 
    int number = 0; // where the guess game goes 
    public void guess() { 
     number = (int) (Math.random() * 10); 
     System.out.println("I'm guessing " + number); 
    } 
} 

public class GameLauncher { 
    public static void main(String[] args) { 
     GuessGame game = new GuessGame(); 
     game.startGame(); 
    } 
} 

上記コードの上に、私はGuessGameという別のクラスを宣言しました。しかし、私がコンパイルすると、 "Class Player/GamLauncherは公開されているので、Player.java/GameLauncher.javaという名前のファイルで宣言する必要があります"

+0

'GameLauncher'クラスをpublicにし、両方のクラスをpublicにしないでください。 – sAm

+0

これらのスニペットは、1つのファイルではなく、別々のファイルになるように設計されています。 –

+0

そうですよ! bro @ cricket_007 – khuongngoc

答えて

3

問題はコンパイラが問題だと言うことです! 1つのファイルに2つのトップレベルパブリッククラスを入れることはできません(これはトップクラスのクラスにのみ当てはまることを思い出させる@rdonukに感謝します)。
1. Playerクラスがpublic(default),private、またはprotected)でないようにします。
2. Player.javaと呼ばれるファイルにGameLauncherクラスはGameLauncher.javaというファイルにPlayerクラスを置きます。

+0

2つのパブリッククラスは、トップレベルクラスでない場合、1つのファイルで宣言できます。 – rdonuk

+0

右。コメントありがとう。 – HyperNeutrino

+0

OPはおそらく、ここでブレースを貼り付けるのを忘れていました。そうでなければ、ファイルはまったくコンパイルされませんでした(彼はコンパイルして、メッセージを投稿します) – vaxquis

関連する問題