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

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

確定字符串是否是Java中的整數(shù)

確定字符串是否是Java中的整數(shù)

慕無(wú)忌1623718 2019-07-03 14:35:45
確定字符串是否是Java中的整數(shù)我試圖確定字符串?dāng)?shù)組中的特定項(xiàng)是否為整數(shù)。我是.split(" ")'ing中的內(nèi)嵌表達(dá)式String窗體,然后嘗試將結(jié)果數(shù)組拆分為兩個(gè)數(shù)組;一個(gè)用于整數(shù),一個(gè)用于運(yùn)算符,同時(shí)舍棄括號(hào)和其他雜項(xiàng)。實(shí)現(xiàn)這一目標(biāo)的最佳方法是什么?我想我也許能找到一個(gè)Integer.isInteger(String arg)方法之類的,但沒有這樣的運(yùn)氣。
查看完整描述

3 回答

?
慕后森

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

最天真的方法是迭代字符串,并確保所有元素都是給定基數(shù)的有效數(shù)字。這是盡可能高效的,因?yàn)槟仨氈辽俨榭疵總€(gè)元素一次。我想我們可以在基數(shù)的基礎(chǔ)上對(duì)它進(jìn)行微優(yōu)化,但是對(duì)于所有的意圖和目的,這都是你所期望得到的最好的結(jié)果。

public static boolean isInteger(String s) {
    return isInteger(s,10);}public static boolean isInteger(String s, int radix) {
    if(s.isEmpty()) return false;
    for(int i = 0; i < s.length(); i++) {
        if(i == 0 && s.charAt(i) == '-') {
            if(s.length() == 1) return false;
            else continue;
        }
        if(Character.digit(s.charAt(i),radix) < 0) return false;
    }
    return true;}

或者,您可以依賴Java庫(kù)來(lái)實(shí)現(xiàn)這個(gè)功能。它不是基于異常的,它將捕獲幾乎所有您能想到的錯(cuò)誤條件。它會(huì)更加昂貴(您必須創(chuàng)建一個(gè)Scaner對(duì)象,在一個(gè)非常緊的循環(huán)中,您不想這樣做。)但是通常情況下,它不應(yīng)該太貴,所以對(duì)于日常操作來(lái)說(shuō),它應(yīng)該是相當(dāng)可靠的。

public static boolean isInteger(String s, int radix) {
    Scanner sc = new Scanner(s.trim());
    if(!sc.hasNextInt(radix)) return false;
    // we know it starts with a valid int, now make sure
    // there's nothing left!
    sc.nextInt(radix);
    return !sc.hasNext();}

如果最佳實(shí)踐對(duì)您來(lái)說(shuō)并不重要,或者您想要對(duì)執(zhí)行代碼評(píng)審的人進(jìn)行騷擾,那么可以嘗試使用以下方法來(lái)查看代碼的大?。?/trans>

public static boolean isInteger(String s) {
    try { 
        Integer.parseInt(s); 
    } catch(NumberFormatException e) { 
        return false; 
    } catch(NullPointerException e) {
        return false;
    }
    // only got here if we didn't return false
    return true;}


查看完整回答
反對(duì) 回復(fù) 2019-07-03
?
呼如林

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

或者,您可以從Apache Commons的好朋友那里尋求一些幫助:StringUtils.isNDigic(StringStr)


查看完整回答
反對(duì) 回復(fù) 2019-07-03
  • 3 回答
  • 0 關(guān)注
  • 439 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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