• ベストアンサー

JAVAの初心者です。

import java.io.*; class Sample1 { public static void main(String args[])throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); do{ System.out.println("1:入力文字整数確かめ"); System.out.println("2:終了"); String hako = br.readLine(); int sen = Integer.parseInt(hako); switch (sen){ case 1: System.out.println("整数を入力してください。"); String hako2 = br.readLine(); int hako3 = Integer.parseInt(hako2); if ((hako3%2)==0){ System.out.println("これは偶数ですね。"); } System.out.println("奇数ですね。"); break; case 2: System.out.println("終了いたします。"); break; } }while(sen != 2); } } 上記のように組んだのですが、}whileのところでエラー が出てしまうのです。 これってなぜなのでしょう?? 初心者特有の質問かもしれませんがご教授いただけたら嬉しいです。宜しくお願いいたします。 関係ないのかも知れませんがJDK1-5-006を使用してます。

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

  • ベストアンサー
  • ssm3u
  • ベストアンサー率52% (19/36)
回答No.1

ちょっと試してないですが、sen のスコープの問題だと思います。 do { の前に「int sen = 0;」 と記述して、 int sen = Integer.parseInt(hako); から「int」を取れば、 コンパイルエラーはなくなると思います。

yuki22
質問者

お礼

ありがとうございます。宣言場所がだめだったのですね。 うう・・お恥ずかしい。 お返事ありがとうございました^^

その他の回答 (2)

  • tachiwa
  • ベストアンサー率34% (25/73)
回答No.3

ほかの方のご指摘通りです。コードを書いておきます。やりすぎですか。 import java.io.*; class Sample1{ public static void main(String args[])throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int sen = 0; do{ System.out.println("1:入力文字整数確かめ"); System.out.println("2:終了"); String hako = br.readLine(); sen = Integer.parseInt(hako); switch (sen){ case 1: System.out.println("整数を入力してください。"); String hako2 = br.readLine(); int hako3 = Integer.parseInt(hako2); if ((hako3%2)==0){ System.out.println("これは偶数ですね。"); } System.out.println("奇数ですね。"); break; case 2: System.out.println("終了いたします。"); break; } }while(sen != 2); } }

yuki22
質問者

お礼

うう・・大切なお時間を沢山使っていただけて本当にありがとうございます。 タチワさんを含めて、お答えいただいたご回答はみなさんすばらしくわかりやすいので、今回は先着順とさせていただきました。 なので、タチワさん、お気を悪くしないでください。 お返事ありがとうございました^^

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

{ }while(); のブロックの中で int sen; が宣言されているからですね。 外にだしましょう

yuki22
質問者

お礼

いつもお返事いただけてありがとうございます。 どんな質問もお答えできるのですね・・。 また解らないことがありましたら宜しくお願いします^^

関連するQ&A

専門家に質問してみよう