error: reached end of file while parsing } java Почему не работает?

270
07 мая 2019, 02:20

Вот код:

 package GameDemo;
import GameDemo.GuessGame;
import GameDemo.Player;
    public class GameLauncher {
    public static void main (String[] args){
           Player p1 = new Player();
           p1.num = "PlayerOne";
           int guessp1 = 0;
           guessp1 = p1.guess();
           boolean variantp1 = false;
           Player p2 = new Player();
           p2.num = "PlayerTwo";
           int guessp2 = 0;
           guessp2 = p2.guess();
           boolean variantp2 = false;
           Player p3 = new Player();
           p3.num = "PlayerThree";
           int guessp3 = 0;
           guessp3 = p3.guess();
           boolean variantp3 = false;
           GuessGame Generator = new GuessGame();
           int generatornum = 0;
           generatornum = Generator.gener();
           while(true){
           System.out.println("Игра загадывает число...");
           System.out.println("Первый игрок думает, что это" + guessp1);
           System.out.println("Второй игрок думает, что это" + guessp2);
           System.out.println("Третий игрок думает, что это" + guessp3);
           System.out.println("Загаданное число - " + generatornum);
           if (guessp1 == generatornum){
               variantp1 = true;
           }
           if (guessp2 == generatornum){
               variantp2 = true;
           }
           if (guessp3 == generatornum){
               variantp3 = true;
           }
           if (variantp1 || variantp2 || variantp3){
               System.out.println("У нас есть победитель!");
               System.out.println("Первый игрок угадал?" + variantp1);
               System.out.println("Второй игрок угадал?" + variantp2);
               System.out.println("Третий игрок угадал?" + variantp3);
           } else{
               System.out.println("Попробуйте еще раз");
           }           
    }
}

Код двух импортируемых классов:

package GameDemo;
public class Player {
    String num;
    int mathrand = 0;
    public void rand(){
       mathrand = (int) (10*Math.random());  
    }
       public int guess(){
    System.out.print(mathrand);
    return mathrand;
   } 
}
package GameDemo;
public class GuessGame {
    int randomin = 0; 
    public void gennum(){
        randomin = (int) (10*Math.random());
    }
    public int gener(){
    System.out.println(randomin);
    return randomin;
    }
}

В чем ошибка?

Answer 1

У вас скобка класса GameLauncher не закрыта:

public class GameLauncher {
    ...

PS.

Используйте единые отступы, например по 4 пробела, так чтобы сохранялась структура вложенности, например:

public class GameLauncher {
    public static void main(String[] args) {
        ...
        while (true) {
            ...
            if (guessp1 == generatornum) {
                ...
            }
            ...
            if (variantp1 || variantp2 || variantp3) {
                ...
            } else {
                ...
            }
        }
    }
}

Иначе, можете ошибиться.

Если кода слишком много (не влезает на экран), то оберните его в функции.

READ ALSO
Игнорировать null при десериализации JSON

Игнорировать null при десериализации JSON

Делаю мапинг JSON в иерархию объектовЕсть поле типа класса, которое в JSON может быть null

184
Задача о днях недели [закрыт]

Задача о днях недели [закрыт]

Нужно написать программу (на java), чтобы пользователь ввёл день недели (воскресенье 0, понедельник 1,

217
Непонятная логика в аккордеоне

Непонятная логика в аккордеоне

В моём понимании при нажатии первой полосы должно быть:

136