一連のチェックを実行するために、ユーザー入力を受け入れ、その入力を別のクラスに渡そうとしています。この場合、回答をユーザーが入力できるオプションのリストと比較し、ユーザーがオプションを入力すると、アクションが実行されます。メニューオプションから始めていますが、コンソールに「menu」と入力しても何も起こりません...プログラムはエラーなしで終了します。
デバッグでは、「return;」で 値「menu」は変数「answer」に格納されます。その次のステップで、「スレッド[メイン](中断)」と次のスタックトレースメッセージが表示されます。
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;
}
}