• ベストアンサー

JAVAでエラーがでる。

JAVA初心者なのですが、下のプログラムは数値を入力して、それを表示させるという簡単なプログラムなのですが、実行すると、 String str = br.readLine(); のbr.readLine();の部分に赤い波線が出て、 「処理されない例外の型 IOException at B.main(B.java:11)」 というエラーが出てしまってこまっています。 参考書のとうりに入力しているのになぜでしょうか? タブやスペースが使えないので見にくくなってしまってすみません。 どなたかJAVAに詳しい方 教えてください。 import java.io.*; public class B { public static void main(String[] args) { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); int num = Integer.parseInt(str); System.out.println(num + "が入力されまた。"); } }

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

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 import java.io.*; public class B { public static void main(String[] args) { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); try { String str = br.readLine(); int num = Integer.parseInt(str); System.out.println(num + "が入力されまた。"); } catch ( IOException e ) { } } } これでエラーはなくなると思います。 例外処理については詳しく書いてくれているページ等あるので 調べてみてください。

rusio
質問者

お礼

早い回答ありがとうございました。 教えていただいたやりかたで無事実行できました。

その他の回答 (1)

  • jikankou
  • ベストアンサー率38% (42/108)
回答No.2

参考書を打ち間違えたか、参考書の誤りです。 少し書き直してみました。 import java.io.*; public class Test { public static void main(String[] args) { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int num = 0; try{ String str = br.readLine(); num = Integer.parseInt(str); } catch(IOException e){ } System.out.println(num + "が入力されまた。"); } } BufferedReader の readLine()はIOException という例外を発生するのでキャッチしてやらなければなりません。もう一つの方法がありますが、その辺は参考書にものっているとおもうので調べてみてください。

rusio
質問者

お礼

早い回答ありがとうございました。 そういえば学校ではできて家ではできなかったので、 Eclipseかなにかの設定とかが関係しているのかも? ともかく、勉強はできるようになったので助かりました。 ありがとうございました。

関連するQ&A