第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何使用 BufferedReader 獲取整數(shù)

如何使用 BufferedReader 獲取整數(shù)

慕桂英4014372 2023-09-20 16:15:06
我正在為自己編寫一個(gè)小程序,但遇到了一個(gè)問題。我希望能夠在控制臺(tái)中輸入一個(gè)數(shù)字,并提取變量的數(shù)字。直到此時(shí)我才明白。int aNumber = Integer.parseInt(br.readLine());除非我想在控制臺(tái)輸入的內(nèi)容不是數(shù)字時(shí)收到錯(cuò)誤。像這樣但當(dāng)然有效的東西: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");         }     } }如果你輸入一個(gè)數(shù)字,它就可以正常工作。但我希望能夠輸入文本并收到錯(cuò)誤后重試。例如,如果您在控制臺(tái)中鍵入:1回答:萬歲,您輸入了一個(gè)數(shù)字!是 1。=====2564回答:萬歲,您輸入了一個(gè)數(shù)字!現(xiàn)在是 2564。=====電爐123回答:錯(cuò)誤:出了問題。請?jiān)僭囈淮巍?====感謝所有試圖提供幫助的人。拉爾斯·莫森
查看完整描述

3 回答

?
九州編程

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超4個(gè)贊

這會(huì)起作用。我希望你能理解解決方案。如果解析失敗則 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");


                }

            }

        }


查看完整回答
反對 回復(fù) 2023-09-20
?
哆啦的時(shí)光機(jī)

TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個(gè)贊

您的代碼不起作用,因?yàn)檩斎胱址虺?之外的任何其他類型int都會(huì)生成 aNumberFormatException并且您沒有捕獲它。


if 語句是不必要的,因?yàn)橹挥薪o出文本時(shí)才會(huì)執(zhí)行 catch 塊。轉(zhuǎn)換時(shí)將引發(fā)異常,因此下面的行將不會(huì)執(zhí)行。


請檢查此代碼


void Test() {

    while (true) {

        try {

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

            System.out.println("Hurray you enterd a number! It is " + aNumber + ".");

            return;

        } catch (NumberFormatException | IOException e) {

            e.printStackTrace();

            System.out.println("Error: Something went wrong. Please try again.\n");

        }

    }

}


查看完整回答
反對 回復(fù) 2023-09-20
?
慕斯王

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超2個(gè)贊

您可以做的最簡單的事情就是捕獲NumberFormatException然后打印您想要的消息。


請參閱下面的工作示例:


import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;


public class ReadNumber {


    public static void main(String[] args) {

        int aNumber = 0;


        while (true) {

            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

            try {

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

            } catch (NumberFormatException e) {

                System.out.println("That wasn't a number.");

                continue;

            } catch (IOException e) {

                e.printStackTrace();

            }

            if (aNumber >= 1) {

                System.out.println("Hurray you entered a number! It is " + aNumber + ".");

                continue;

            } else {

                System.out.println("Error: Something went wrong. Please try again.\n");

            }

        }

    }

}


查看完整回答
反對 回復(fù) 2023-09-20
  • 3 回答
  • 0 關(guān)注
  • 148 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號