- 締切済み
メソッドを使ったプログラム
メソッドをつかったプログラムで数当てゲームを作成したいのですが 1から1000までのランダムな値(以降 数値X として)を取得し、プレイヤーにその数を当てさせる。 プレイヤーが入力した数値(以降 数値Y として)が数値Xより大きければ『もっと小さいです』、数値Yが数値Xより小さければ『もっと大きいです』と出力する。 数値Xと数値Yが同じになるまで繰り返し、何回であったたかを最後に表示する。 条件:以下の処理の単位をメソッドにする。 1.1から1000までのランダムな値を取得する。 2.数値X、数値Yの関係(大小、等しい)を調べ、適切なメッセージを出力する というプログラミングを作成したいのですがどういうふうにしたらよいのかわかりません!! import java.io.*; class Question7_2{ public static void main(String[] args){ BufferedReader r = new BufferedReader(new InputStreamReader(System.in)); try{ System.out.println("数当てゲーム"); というところでとまった状態です。どのようにしたらよいか教えてください!例外発生やIf文を使うというのまではわかるのですが…
- みんなの回答 (2)
- 専門家の回答
お礼
ありがとうございます! tachiwaさんのサンプルを参考に自分なりにつくってみました!! import java.io.*; class Question6_2{ public static void main(String[] args){ BufferedReader r = new BufferedReader(new InputStreamReader(System.in)); try{ System.out.println("数当てゲーム"); int x=0,y; int hit=0; boolean flag=true; x = rand(); while(flag){ System.out.println("1から1000の値を入力してください。"); String s = r.readLine(); y = Integer.parseInt(s); flag = hikaku(x,y); hit++; } System.out.println("手数"+hit+"回"); }catch (IOException e){ System.out.println("例外発生" + e); }catch(NumberFormatException e){ System.out.println("整数以外が入力されました。"); } } public static int rand(){ int x; x = (int)(Math.random() * 1000 ) +1; return x; } public static boolean hikaku(int x,int y){ if(y > x ){ System.out.println("もっと小さいですよ "); }else if(y < x){ System.out.println("もっと大きいですよ"); }else { System.out.println("正解です"); return false; } return true; } }