• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:入力番号に応じて該当プログラムを実行させたいです)

Javaプログラムを実行するメニュープログラムを作成したい

このQ&Aのポイント
  • 入力番号に応じて該当プログラムを実行するメニュープログラムを作成したい。
  • Javaのプログラムを実行する際、選択肢を表示し、選択された番号に対応するプログラムを実行する仕組みを作りたい。
  • 具体的には、Menu.javaとUranai.javaという2つのJavaプログラムがあり、Menu.javaを実行すると選択肢が表示され、選択された番号に応じてUranai.javaが呼び出されるような仕組みを作成したい。

質問者が選んだベストアンサー

  • ベストアンサー
  • _kappe_
  • ベストアンサー率68% (1581/2304)
回答No.1

同じカテゴリー([技術者向] コンピューター>プログラミング・開発>Java)の一つ前の質問が似たようなことをやっています。 https://oshiete1.nifty.com/qa9639343.html Scanner scanner = new Scanner(System.in);として、scanner.nextLine()で入力した文字列を読み取り、その内容を見て3つのゲームのどれを実行するか決めます。Scannerクラスはjava.utilパッケージにあります。 繰り返しをするにはwhile文などを使ってください。 じゃんけんや数当てでも同じように入力とその内容の判定、繰り返しが必要になるのではありませんか?

nihonbashiboy
質問者

お礼

リンクありがとうございます、拝見しました。 そうですね。同じクラス内で、if文やwhile文で処理を分岐させて、elseブロックを何個か並べて、そこに処理内容を書いていけばいいとも思ったんですが。 そうすると、Main.javaがすごい長くなってしまい、それがスマートではない気がしまして。 できたら、Main.javaは各クラスからメソッドを呼び出すだけの内容を記述しまして。 メソッドの中身の方は、Uranai.java、Janken.java、Kazuate.javaのそれぞれに書かれているという構成にしたい…と、考えております。

nihonbashiboy
質問者

補足

調べまくって何とかなりました!自分のMain.javaに、 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str; int n; for(;;){ System.out.print("遊びたいゲームの番号を入力してください:"); str = br.readLine(); n = Integer.parseInt(str); if(n == 1){ Uranai asobi1 = new Uranai(); asobi1.uranaitime(); continue; } if(n == 2){ ・ ・   ・ else{ System.out.println("遊びたいゲームの番号を入力してください:"); } みたいな感じにして。 Uranai.javaの方は、public static void asobi1() { …} のように、各ファイル、asobi1~asobi3メソッドを作って、大きなブロックで囲み、まるごと呼び出せるようにしました。 お騒がせしました<m(__)m>

関連するQ&A