Java I';我被困在这个密码里了

Java I';我被困在这个密码里了,java,Java,我刚开始学习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 cla

我刚开始学习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的类。但是当我编译时,它说“类Player/GamLauncher是公共的,应该在一个名为Player.java/GamLauncher.java的文件中声明”

问题正是编译器所说的问题!您不能将两个顶级公共类放在一个文件中(感谢@rdonuk提醒我这只适用于顶级类)。有两种解决方案:
1.使
播放器
类不-
公共
(默认)
私有
,或
受保护
)。

2.将
Player
类放在名为
Player.java
的文件中,将
GameLauncher
类放在名为
GameLauncher.java

的文件中,将
GameLauncher
类公开,而不是两个类都公开。这些代码片段被设计为单独的文件,而不是一个文件。没错!bro@cricket\u 007如果不是顶级类,则可以在一个文件中声明两个公共类。对。谢谢你的评论。OP可能忘了在这里粘贴大括号,否则文件根本无法编译(他说是他编译的,甚至发布了他收到的消息)好的。我将编辑答案。感谢@AlexL的评论。我已经解决了这个问题!