Консольная игра по угадываннию чисел на Java работает не коректно после перезапуска через catch

package main;

import java.util.*;

public class Main {

    public static void main(String[] args) throws Exception {
        while (new Main().Game()) {
            if(!new Main().Game()){
                System.exit(0);
            }
        }
    }

    boolean Game(){
        try {
            final String RESET = "\033[0m";
            final String RED = "\033[0;31m";

            Scanner user_name_1 = new Scanner(System.in);
            Scanner user_name_2 = new Scanner(System.in);
            Scanner user_name_3 = new Scanner(System.in);

            Scanner user_1 = new Scanner(System.in);
            Scanner user_2 = new Scanner(System.in);
            Scanner user_3 = new Scanner(System.in);

            Scanner max_target = new Scanner(System.in);

            System.out.println("User by number 1, enter your name...");
            String n1 = user_name_1.nextLine();
            System.out.println("User by number 2, enter your name...");
            String n2 = user_name_2.nextLine();
            System.out.println("User by number 3, enter your name...");
            String n3 = user_name_3.nextLine();
            System.out.println("  ");

            System.out.println("Enter max value of target number");
            int max = max_target.nextInt();
            if(max <= 0) {
                max = Math.abs(max);
                System.out.println("Max value can't be < 0, so max value is "+max);
            }
            int target = (int) (Math.random() * max + 1);
            System.out.println("  ");


            System.out.println(n1 + " enter your number...");
            int num1 = user_1.nextInt();
            System.out.println(n2 + " enter your number...");
            int num2 = user_2.nextInt();
            System.out.println(n3 + " enter your number...");
            int num3 = user_3.nextInt();
            System.out.println("  ");

            if (num1 == target && num2 != target && num3 != target)
                System.out.println(n1 + " is winner!\n Target: " + target);
            else if (num1 != target && num2 == target && num3 != target)
                System.out.println(n2 + " is winner!\n Target: " + target);
            else if (num1 != target && num2 != target && num3 == target)
                System.out.println(n3 + " is winner!\n Target: " + target);
            else if (num1 == target && num2 == target && num3 != target)
                System.out.println(n1 + " & " + n2 + " are winners!\n Target: " + target);
            else if (num1 == target && num2 != target)
                System.out.println(n1 + " & " + n3 + " are winners!\n Target: " + target);
            else if (num1 != target && num2 == target)
                System.out.println(n2 + " & " + n3 + " are winners!\n Target: " + target);
            else if (num1 != target) System.out.println("We have no winner ;/ \nTarget was: " + target);
            System.out.println("  ");
            System.out.println("Wanna play one more time?");
            Scanner next_game = new Scanner(System.in);
            if (next_game.next().equals("yes") || next_game.equals("Yes")) {
                System.out.println(RED+"——————————————————"+RESET);
                System.out.println("Let's Start tho ;)");
                System.out.println(RED+"——————————————————"+RESET);
                return true;
            } else {
                System.out.println(RED+"——————————"+RESET);
                System.out.println("Bye bye ;)");
                System.out.println(RED+"——————————"+RESET);
                return false;
            }
        } catch (Exception e){
            System.out.println("Something wrong....\n Trying relaunch game...");
            System.out.println("  ");
            Game();
        }
        return false;
    }

}

Ответы (0 шт):