Я пытаюсь сделать программу конвертации валют, которая использует методы в одном классе. Мне удалось успешно вызвать метод enterValues из mainMenu, но когда этот метод завершился, мне нужно, чтобы он вернулся в главное меню. Я получаю NoSuchElement исключение при вызове моего метода MainMenu:Нет такого исключения элемента при возврате в главное меню
Exception in thread "main" java.util.NoSuchElementException: No line found
at java.util.Scanner.nextLine(Unknown Source)
at Conversion.mainMenu(Conversion.java:25)
at Conversion.mainMenu(Conversion.java:34)
at Conversion.main(Conversion.java:63)
Вот мой код:
import java.util.Scanner;
public class Conversion {
int value;
public void mainMenu() {
int menuChoice;
Scanner menuScan = new Scanner(System.in);
System.out.println("1. Enter values and type -1 to stop");
System.out.println("2. Euros");
System.out.println("3. Dollars");
System.out.println("4. Yen");
System.out.println("5. Rupees");
System.out.println("6. Exit");
while (!menuScan.hasNextInt() || (menuChoice = menuScan.nextInt()) > 6) {
menuScan.nextLine();
System.err.println("Please enter a valid menu option 1 - 6: ");
}
switch (menuChoice) {
case 1:
enterValues();
mainMenu();
case 2:
}
}
public void enterValues() {
Scanner valueScan = new Scanner(System.in);
System.out.print("Enter value to convert: ");
value = valueScan.nextInt();
System.out.println("Value entered. Returning to main menu.");
valueScan.close();
}
public static void main(String[] args) {
Conversion conv = new Conversion();
conv.mainMenu();
}
}
Можете ли вы указать, какие строки указаны в трассировке стека, и что вы указали для ввода? –
Возможный дубликат [java.util.NoSuchElementException - пользовательский ввод считывателя сканера] (http://stackoverflow.com/questions/13042008/java-util-nosuchelementexception-scanner-reading-user-input) – Tom