Это продолжение предыдущего вопроса, на который я не смог получить ответ. Проблема в том, что, когда я пытаюсь завершить программу с помощью метода System.exit (0) с помощью оператора switch и ключевого слова «End», код больше не работает, как следует, только каждый второй целочисленный ввод теперь считывается компьютер. Вот мой метод, который больше не работает:завершение программы через system.exit (0) в java
public static int[] ourGuess() {
int[] guessed = new int[4];
Scanner scan = new Scanner(System.in);
System.out.println("Take your guess:");
switch (scan.nextLine()) {
case "End":
System.exit(0);
break;
}
guess = scan.nextInt();
int mod = 10;
int div = 1;
for (int i = 3; i >= 0; i--) {
int num = (guess % mod)/div;
guessed[i] = num;
div = div * 10;
mod = mod * 10;
}
return guessed;
}
Класс является реализация Java из вдохновителя игры. Спасибо за помощь!
Это потому, что 'nextInt' не использует' \ n', который ранее был введен 'nextLine'. Добавьте 'nextLine' сразу после' nextInt', и все будет в порядке. – Maroun
@MarounMaroun, это не проблема, я думаю. Проблема заключается в чтении двух значений. –