Новичок начал изучать Head First Java столкнулся с проблемой что код используемый в этой книге устарел, помогите довести задачу до рабочего состояния)
public class GuessGame {
public static void main(System[] args) {
Player p1; //ругается на этом моменте
Player p2; //ругается на этом моменте
Player p3; //ругается на этом моменте
public void startGame(){
p1 = new Player();
p2 = new Player();
p3 = new Player();
int guessp1 = 0;
int guessp2 = 0;
int guessp3 = 0;
boolean p1isRight = false;
boolean p2isRight = false;
boolean p3isRight = false;
int targetNumber = (int) (Math.random() * 10);
System.out.println("Я загадываю число от 0 до 9...");
while (true) {
System.out.print("Число, которое нужно угадать, - " + targetNumber);
p1.guess();
p2.guess();
p3.guess();
guessp1 = p1.number;
System.out.print("Первый игрок думает, что это " + guessp1);
guessp2 = p2.number;
System.out.print("Первый игрок думает, что это " + guessp2);
guessp3 = p3.number;
System.out.print("Первый игрок думает, что это " + 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.print("КОнец игры.");
break;
} else {
System.out.print("Игроки должны попробовать еще раз.");
}
}
}
}
}
Код не устарел. Я не читал "Head First Java" и не знаю, внятно ли там сказано, что каждая переменная должна относится к какому-то типу, а этот тип должен быть либо предопределенным типом Java, либо классом, определенным в вашем коде. Java -- это строго-типизированный язык.
У вас описываются переменные p1, p2, p3
типа Player
(строки, на которые ругается компилятор), но тип Player не описан в вашем коде и не является стандартным типом Java
. Читайте книгу внимательнее, там рядом, скорее всего, есть еще один кусок кода, где описан тип Player
.
И чтобы лучше понимать основные концепции языка, есть смысл почитать и другие книги по Java
.
И кстати, когда компилятор ругается, читайте его (компилятора) сообщения. Иногда они настолько точно и ясно указывают на ошибку, что не возникает нужды задавать дополнительные вопросы.
System.out.print("Первый игрок думает, что это " + guessp2);
- первый замените на второй и третий.
У вас метод startGame()
находится в main()
. Вынесите его в отдельный метод.
Рабочий код:
public static void main(System[] args) { starGame(); }
public void startGame(){
p1 = new Player();
p2 = new Player();
p3 = new Player();
...
}
Так же у вас должен быть определен класс Player.
На следующей странице посмотри :)
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Я знаю, что notify() - пробуждает любой один поток, а notifyAll() - пробуждает все и даёт доступ одномуНо в чём отличие? в одних случаях работает notify(),...
Всем привет, подскажите пожалуйста, как можно cгенерировать POJO классы из схемы данных в виде файлаxml?
Имеется ArrayList вида String : intКак отсортировать его по возрастанию/убыванию по "колонке" int ?
Собственно говоря, сам вопрос кроется в залоговке данной темыЗнаю, что примерно с 2002 года освной реализацией JVM для платформы Java SE является...