Java 菜鳥教程

Java 流程控制

Java 數(shù)組

Java 面向?qū)ο?I)

Java 面向?qū)ο?II)

Java 面向?qū)ο?III)

Java 異常處理

Java 列表(List)

Java Queue(隊(duì)列)

Java Map集合

Java Set集合

Java 輸入輸出(I/O)

Java Reader/Writer

Java 其他主題

Java程序檢查字符串是否為數(shù)字

Java 實(shí)例大全

在此程序中,您將學(xué)習(xí)不同的方法來檢查Java中字符串是否為數(shù)字。

示例1:檢查字符串是否為數(shù)字

public class Numeric {

    public static void main(String[] args) {

        String string = "12345.15";
        boolean numeric = true;

        try {
            Double num = Double.parseDouble(string);
        } catch (NumberFormatException e) {
            numeric = false;
        }

        if(numeric)
            System.out.println(string + " 是數(shù)字");
        else
            System.out.println(string + "  不是數(shù)字");
    }
}

運(yùn)行該程序時(shí),輸出為:

12345.15 是數(shù)字

在上面的程序中,我們有一個(gè)名為string的字符串(String),它包含要檢查的字符串。我們還有一個(gè)布爾值numeric,存儲(chǔ)最終結(jié)果是否為數(shù)值。

為了檢查字符串是否只包含數(shù)字,在try塊中,我們使用Double的parseDouble()方法將字符串轉(zhuǎn)換為Double

如果拋出錯(cuò)誤(即NumberFormatException錯(cuò)誤),則表示string不是數(shù)字,并設(shè)置numeric為false。否則,表示這是一個(gè)數(shù)字。

但是,如果要檢查是否有多個(gè)字符串,則需要將其更改為函數(shù)。而且,邏輯基于拋出異常,這可能會(huì)非常昂貴。

相反,我們可以使用正則表達(dá)式的功能來檢查字符串是否為數(shù)字,如下所示。

示例2:使用正則表達(dá)式(regex)檢查字符串是否為數(shù)字

public class Numeric {

    public static void main(String[] args) {

        String string = "-1234.15";
        boolean numeric = true;

        numeric = string.matches("-?\\d+(\\.\\d+)?");

        if(numeric)
            System.out.println(string + " 是數(shù)字");
        else
            System.out.println(string + "  不是數(shù)字");
    }
}

運(yùn)行該程序時(shí),輸出為:

-1234.15 是數(shù)字

在上面的程序中,我們使用regex來檢查是否string為數(shù)字,而不是使用try-catch塊。這是使用String的matches()方法完成的。

在matches()方法中

  • -?     允許零或更多-用于字符串中的負(fù)數(shù)。

  • \\d+ 檢查字符串是否至少有1個(gè)或更多的數(shù)字(\\d)。

  • (\\.\\d+)? 允許零個(gè)或多個(gè)給定模式(\\.\\d+),其中

    • \\. 檢查字符串是否包含.(小數(shù)點(diǎn))

    • 如果是,則應(yīng)至少跟一個(gè)或多個(gè)數(shù)字\\d+。

Java 實(shí)例大全

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清