2016-03-26 5 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 открытым, а не оба класса общедоступными. – sAm

+0

Эти фрагменты предназначены для отдельных файлов, а не для одного файла. –

+0

Правильно! bro @ cricket_007 – khuongngoc

ответ

3

Проблема в том, что компилятор говорит о проблеме! Вы не можете поместить два общедоступных класса верхнего уровня в один файл (спасибо @rdonuk за то, что напомнили мне, что это относится только к классам верхнего уровня). Существует два решения:
1. Сделайте Player класс не public ((default), private, или protected).
2. Поместите класс Player в файл с именем Player.java и класс GameLauncher в файл с именем GameLauncher.java.

+0

Два открытых класса могут быть объявлены в одном файле, если они не являются классами верхнего уровня. – rdonuk

+0

Справа. Спасибо за комментарий. – HyperNeutrino

+0

OP, вероятно, забыл вставить скобу здесь, так как в противном случае файл вообще не компилируется (он говорит, что он скомпилировал его и даже отправил сообщение, которое он получил) – vaxquis

Смежные вопросы