我正在尝试接受用户输入,然后将该输入传递给另一个类以执行一系列检查。在这种情况下,要将答案与用户可以键入的选项列表进行比较,如果他们键入选项,将执行操作。我从一个菜单选项开始,但我在控制台中键入“菜单”,没有任何反应......程序只是终止而没有错误。
在调试中,在'return;' 值“菜单”存储在变量“答案”中。之后的下一步我得到“Thread [main] (Suspended)”和这个堆栈跟踪消息:
Thread.exit() 行:不可用 [局部变量不可用]
如何从 main() 获得要在我的 Exec 类中识别的答案?
这是我的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;
}
}