Я пытаюсь принять ввод пользователя, а затем передать этот ввод другому классу, чтобы выполнить серию проверок. В этом случае, чтобы сравнить ответ на список параметров, которые пользователь может ввести, и если они набирают параметр, действие будет выполнено. Я начинаю с опции меню, но я набираю «menu» в консоли, ничего не происходит ... программа просто завершается без ошибки.Получите ответ от ввода пользователя и перейдите к другому классу
В отладке, на 'return;' значение «меню» сохраняется в переменной «ответ». Уже на следующий шаг после что я получаю "Thread [главная] (Приостановлено)" и это сообщение трассировки стека:
Thread.exit() линия: нет в наличии [локальные переменные недоступны]
Как я получаю ответ, который должен быть распознан в моем классе Exec из main()?
Вот мой main()
:
package program2;
public class Calculator {
public static String answer;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter the word menu: ");
String answer = sc.nextLine();
return;
}
}
Вот мой класс Exec, где я пытаюсь выполнить действия:
package program2;
public class Exec {
String newAnswer = Calculator.answer;
public Exec (String answer){
if (newAnswer.equals("menu")){
menu();
}
}
public static void menu(){
System.out.printf("%-30s %-30s %-30s%n", "Enter value: enter", "Duplicate: dup" "Exp:exp");
}
}
я пытался что-то более простое, как это (получил тот же ответ):
package program2;
public class Calculator {
public static String answer;
public static void main(String[] args) {
answer = "menu";
return;
}
}
Вы не используете 'Exec' в любом месте. Чего вы ожидаете? – DaoWen
Я назначаю Calculator.answer newAnswer; Я ожидаю, что newAnswer возьмет значение Calculator.answer ... – Chris