Игра на Java не проходит компиляцию

101
21 января 2021, 18:40
package com.company;
public class GuessGame {
    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.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();
        }
    }
}

Такие вот дела. Ругается на последний кусок кода, запускающий игровой процесс

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

А именно на static. Подскажите пожалуйста как нужно правильно это дело оформить(((

Answer 1

В не статических вложенных классах не допускаются статические методы.

READ ALSO
Падает метод если запускать его из теста JUnit

Падает метод если запускать его из теста JUnit

Написал метод который создает архив, если запускать из Main'a то все работаетПытаюсь протестировать с помощью junit - падает ошибка java

118
Замена строки в функции

Замена строки в функции

У меня есть функция, которую я хочу применить ещё раз в другом месте, но у неё будет отличие всего-лишь в одной строкеМожно ли как-то заменить...

132
Всплытие jquery

Всплытие jquery

Не могу понять что не такВроде запретил всплытие события, но "не работает"

103