Java 从用户输入中获取答案并传递给另一个类
我试图接受用户输入,然后将该输入传递给另一个类,以便执行一系列检查。在这种情况下,要将答案与用户可以键入的选项列表进行比较,并且如果他们键入选项,则将执行操作。我从一个菜单选项开始,但我在控制台中键入“menu”,什么也没有发生……程序只是在没有错误的情况下终止 在调试中,在“return;”处值“menu”存储在变量“answer”中。在这之后的下一步,我得到了“Thread[main](Suspended)和这个堆栈跟踪消息: Thread.exit()行:不可用[局部变量不可用] 如何从main()在Exec类中识别答案 这是我的Java 从用户输入中获取答案并传递给另一个类,java,string,class,user-input,Java,String,Class,User Input,我试图接受用户输入,然后将该输入传递给另一个类,以便执行一系列检查。在这种情况下,要将答案与用户可以键入的选项列表进行比较,并且如果他们键入选项,则将执行操作。我从一个菜单选项开始,但我在控制台中键入“menu”,什么也没有发生……程序只是在没有错误的情况下终止 在调试中,在“return;”处值“menu”存储在变量“answer”中。在这之后的下一步,我得到了“Thread[main](Suspended)和这个堆栈跟踪消息: Thread.exit()行:不可用[局部变量不可用] 如何从m
main()
:
这是我尝试执行操作的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");
}
}
我也尝试过类似的简单方法(得到了相同的回答):
对于初学者,您需要从main实例化一个Exec实例,并将其传递到Exec。。。 i、 e: 从那以后,它应该会起作用。它说没有更多的变量可用,因为您的程序在返回语句处结束 但是,在Exec类中也有问题。。。。newAnswer未分配,您正在测试它是否相等。。。您将得到另一个错误 编辑:
ugg。。更糟糕的是。。。不要重新声明答案,请使用此。答案。。。您正在声明一个新的局部变量 您没有在任何地方使用
Exec
。你预计会发生什么?我正在分配计算器。答案到新答案;我希望newAnswer能取计算器的值。回答…谢谢。我知道这对你和其他人来说是很基本的,但我仍在努力学习。非常感谢你的时间和帮助:)没问题,克里斯,每个人都去过,我上这个网站是因为它帮助我通过帮助别人来学习:)不要担心问问题。。。我的“uggh…”是因为我一直在编辑并发现更多的错误,哈哈,如果我能一下子看到它们,那就太好了呵呵。
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;
}
}
String answer = sc.nextLine();
Exec ex = new Exec(answer);
return;