質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

1回答

6333閲覧

java エラー 例外IOExceptionは報告されません。スローするには、捕捉または宣言する必要があります

kaede988

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2022/01/07 01:07

編集2022/01/07 01:23

キーボード入力を行うプログラム

java初心者です。キーボード入力を行うプログラムなのですが,

発生している問題・エラーメッセージ

■C:\Users\216031\Desktop\java> javac KeyIn.java KeyIn.java:22: エラー: 例外IOExceptionは報告されません。スローするには、捕捉または宣言する必要があります String m=br.readLine(); ^ エラー1個

該当のソースコード

java

1import java.io.*; 2public class KeyIn{ 3 String buf=null; 4 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 5 public String readString(){ 6 try{ 7 buf=br.readLine(); //キーボード入力 8 }catch(IOException e){ //キーボード入力致命的エラー 9 System.out.println(e); //エラー情報の表示 10 System.exit(1); //プログラムの異常終了 11 } 12 return buf; //文字列の返却 13 } 14 /*入力プロンプトを表示して文字列を入力するメソッド*/ 15 public String readString(String msg){ 16 System.out.print(msg+">"); //プロンプト表示 17 return readString(); //キーボード入力 18 } 19 public int readInt(){ 20 int inputIntValue; 21 while(true){ 22 String m=br.readLine(); 23 try{ 24 inputIntValue=Integer.parseInt(m); 25 System.exit(1); 26 }catch(NumberFormatException e){ 27 System.out.println("整数値を入力してください:"+buf); 28 System.out.print("再入力>"); 29 } 30 } 31 32 } 33 34 public int readInt(String msg){ 35 System.out.print(msg+">"); 36 return readInt(); 37 } 38}

補足情報

int readInt()はキーボード入力した文字列を数値に変換して戻すメソッドで、int readInt(String msg)はmsgで指定された文字列をプロンプトとして表示し、キーボード入力した文字列を数値(int型)に変換して戻すメソッドです。
どうすればいいのでしょうか??

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2022/01/07 01:10

コードやエラーはマークダウンのcodeにてご提示ください
guest

回答1

0

エラーメッセージのとおりです。

BufferedReader.readLineは、検査例外であるIOExceptionを投げますので(Oracle)、「catchする」あるいは「メソッドでthrowsを宣言して外に例外を投げる」のどちらかを行わないと、コンパイルを通りません。

投稿2022/01/07 02:40

maisumakun

総合スコア146018

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問