- ВКонтакте
- РћРТвЂВВВВВВВВнокласснРСвЂВВВВВВВВРєРСвЂВВВВВВВВ
- РњРѕР№ Р В Р’В Р РЋРЎв„ўР В Р’В Р РЋРІР‚ВВВВВВВВРЎР‚
- Viber
- Skype
- Telegram
Как завести данный код?Код из книги
У меня ничего не работает, все перепроверила,буквально все из книги переписала,значения 1,9,9 внесла тк нужно указать какое число называют игроки, если я правильно поняла, добавила класс Player и GameLauncher, как и сказанно в книге, но все равно не работает,
IDE пишет что я должна классы Player и Gamelauncher cделать не публичными, я делаю, но сообщение все равно висит, в другом более старом обсуждении данной задачки писали что код нормальный, не устаревший, но я уже в этом сомневаюсь.
public class GuessGame {
player p1;
player p2;
player p3;
public void startGame() {
p1 = new player();
p2 = new player();
p3 = new player();
int guessp1 = 1;
int guessp2 = 9;
int guessp3 = 9;
boolean p1isRight = false;
boolean p2isRight = false;
boolean p3isRight = false;
int targetNumber = (int) (Math.random() * 10);
System.out.println("Я загадываю число от 0 до 9 ...");
while (true) {
System.out.println("Число, которое нужно угадать,- " + targetNumber);
p1.guess();
p2.guess();
p3.guess();
guessp1 = p1.number;
System.out.println("Первый игрок думает, что это" + guessp1);
guessp2 = p2.number;
System.out.println("Второй игрок думает, что это" + guessp2);
guessp3 = p3.number;
System.out.println("Третий игрок думает, что это" + guessp3);
if (guessp1 == targetNumber) {
p1isRight = true;
}
if (guessp2 == targetNumber) {
p2isRight = true;
}
if (guessp3 == targetNumber) {
p3isRight = true;
}
if (p1isRight || p2isRight || p3isRight) {
System.out.println("У нас есть победитель!");
System.out.println("Первый игрок угадал? " + p1isRight);
System.out.println("Второй игрок угадал? " + p2isRight);
System.out.println("Третий игрок угадал? " + p3isRight);
System.out.println("Конец игры.");
break;
} else {
System.out.println("Никто не угадал. Попробуйте еще раз.");
}
}
}
}
public class Player {
int number = 0;
public void guess() {
number = (int) (Math.random() * 10);
System.out.println("Думаю это число: " + number);
}
}
public class Gamelauncher {
public static void main(String[] args) {
GuessGame game = new GuessGame();
game.startGame();
}
}
Ответы (2 шт):
В одном файле с кодом может быть только один public
класс, причем имя класса должно совпадать с именем файла.
Поэтому такие варианты исправления ошибок:
- Убрать
public
для классовPlayer
иGamelauncher
:
...
class Player {
...
}
class Gamelauncher {
...
}
В этом случае они будут доступны только в этом файле.
- Перенести классы
Player
иGamelauncher
в файлы с соответствующими названиями.
В одном файле *.java может быть только один "public class". Либо ваши паблик классы разнесите по отдельным файлам, либо уберите "public" из других классов.