みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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を使用してます。

投稿日時 - 2006-03-07 19:37:45

QNo.2013572

困ってます

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

ちょっと試してないですが、sen のスコープの問題だと思います。

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

投稿日時 - 2006-03-07 19:53:38

お礼

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

投稿日時 - 2006-03-08 00:00:30

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.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);
}
}

投稿日時 - 2006-03-07 21:54:56

お礼

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

投稿日時 - 2006-03-08 00:05:22

ANo.2

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

投稿日時 - 2006-03-07 19:59:09

お礼

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

投稿日時 - 2006-03-08 00:01:54