intergerを取得するにはBufferedReaderのを使用する方法

Lars02_:

私は自分自身のための小さなプログラムを書いていると私は問題にぶつかります。

私はコンソールに番号を入力して、変数の数を抽出することができるようにしたいです。この時点まで、私はそれを得ました。

int aNumber = Integer.parseInt(br.readLine());

私は数ではありませんコンソールに入力されたものがあるときにエラーを取得したい場合を除き。

このような何かが、作業ofcourseの:

void Test() {
    while (true) {
        try {
            aNumber = Integer.parseInt(br.readLine());
        } catch (IOException e) {
            e.printStackTrace();
        }
        if (aNumber >= 1) {
            System.out.println("Hurray you enterd a number! It is " + aNumber + ".");
            return;
        } else {
            System.out.println("Error: Something went wrong. Please try again.\n");
        }
    }
}

あなたが番号を入力した場合には、罰金に動作します。しかし、私はテキストを入力できるようにしたいし、再試行してくださいするエラーを取得します。

例コンソールで入力した場合:

1

回答:

万歳あなたは数をenterd!それは1です。

=====

2564

回答:

万歳あなたは数をenterd!それは2564年です。

=====

eaf123

回答:

エラー:何かが間違っていました。もう一度やり直してください。

=====

誰もが支援しようとしてくれてありがとう。

ラースMeeuwsen

イゴールKhvostenkov:

これは動作します。私はあなたが解決策を理解してほしいです。Integer.parseInt()スローNumberFormatException解析が失敗した場合。

void test() {
            while (true) {
                int aNumber;
                try {
                    aNumber = Integer.parseInt(br.readLine());
                    System.out.println("Hurray you enterd a number! It is " + aNumber + ".");
                    return;
                } catch (NumberFormatException | IOException e) {
                    System.out.println("Error: Something went wrong. Please try again.\n");

                }
            }
        }

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=313329&siteId=1