當前位置:首頁 » 編程語言 » java字元串數字判斷

java字元串數字判斷

發布時間: 2024-09-28 01:41:32

java中判斷字元串是否為數字的幾種方法

1.使用Character.isDigit(char)判斷
char num[] = str.toCharArray();//把字元串轉換為字元數組
StringBuffer title = new StringBuffer();//使用StringBuffer類,把非數字放到title中
StringBuffer hire = new StringBuffer();//把數字放到hire中
for (int i = 0; i < num.length; i++) {
// 判斷輸入的數字是否為數字還是字元
if (Character.isDigit(num[i])) {把字元串轉換為字元,再調用Character.isDigit(char)方法判斷是否是數字,是返回True,否則False
hire.append(num[i]);// 如果輸入的是數字,把它賦給hire} else {title.append(num[i]);// 如果輸入的是字元,把它賦給title}}}
2.使用類型轉換判斷try {String str="123abc";
int num=Integer.valueOf(str);//把字元串強制轉換為數字
return true;//如果是數字,返回True
} catch (Exception e) {
return false;//如果拋出異常,返回False}
3.使用正則表達式判斷
String str = "";
boolean isNum = str.matches("[0-9]+");
//+表示1個或多個(如"3"或"225"),*表示0個或多個([0-9]*)(如""或"1"或"22"),?表示0個或1個([0-9]?)(如""或"7")
ps:這個方法只能用於判斷是否是正整數

② java中驗證字元串是不是數字的四種方法

判斷字元串是不是數字,大家可能會用一些java自帶的方法,也有可能用其他怪異的招式,比如判斷是不是整型數字,將字元串強制轉換成整型,不是數字的就會拋出錯誤,那麼就不是整型的了。但本文介紹的比較好的兩種方法:
1。java類庫自帶的方法:
public boolean isNum(String msg){
if(java.lang.Character.isDigit(msg.charAt(0))){
return true;}return false;}0202更新:發現以上方法寫得不夠到位,現在就改為下面的簡單說明了,至於具體的方法實現字元串判斷是否數字就不寫了。
java.lang.Character.isDigit(char ch) boolean
isDigit 只能作用於char,所以判斷字元串是否為數字,要一個一個拿出char進行判斷。
2。用正則表達式
首先要import java.util.regex.Pattern 和 java.util.regex.Matcher
這兩個包,接下來是代碼
public boolean isNumeric(String str){Pattern pattern = Pattern.compile(」[0-9]*」);
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() ){return false;}return true;}02
3。用正則表達式

③ Java 中怎樣判斷一個字元串全是數字

Java中判斷字元串是否全是數字:

可以使用正則表達式:

publicbooleanisNumeric(Stringstr){
Patternpattern=Pattern.compile("[0-9]*");
MatcherisNum=pattern.matcher(str);
if(!isNum.matches()){
returnfalse;
}
returntrue;
}

但是這個方法並不安全,沒有對字元串進行空校驗。
在程序執行的時候很容易拋出異常。
例如執行:

publicstaticvoidmain(String[]args){

Stringstr=null;
System.out.println(BarcodeChecksum.INSTANCE.isNumeric(str));

}

就會拋出異常:

Exceptioninthread"main"java.lang.NullPointerException
atjava.util.regex.Matcher.getTextLength(Matcher.java:1140)
atjava.util.regex.Matcher.reset(Matcher.java:291)
atjava.util.regex.Matcher.<init>(Matcher.java:211)
atjava.util.regex.Pattern.matcher(Pattern.java:888)
atcom.ossez.bcu.util.BarcodeChecksum.isNumeric(BarcodeChecksum.java:37)
atcom.ossez.bcu.util.BarcodeChecksum.main(BarcodeChecksum.java:53)

所以這個方法並不準確。

如果執行:

publicstaticvoidmain(String[]args){
Stringstr="";
System.out.println(BarcodeChecksum.INSTANCE.isNumeric(str));
}

將會返回 true。
這說明這個方法沒有對空字元串進行校驗。
可以使用 Apache 的 StringUtils.isNumeric() 函數進行判斷。
這個函數位於 org.apache.commons.lang.StringUtils; 中。
但是,需要注意,如果傳入參數為 "" 同樣也會你存在判斷不準確的情況,這時候需要首先對需要進行判斷的參數進行非空校驗,然後刪除傳入數據中的空格。

publicstaticvoidmain(String[]args){
Stringstr="";
System.out.println(StringUtils.isNumeric(str));
}

上面這個函數將會返回 true。
請先 trim 數據

④ java中怎麼判斷字元串是否全部為數字

答案:可以使用Java中的正則表達式來判斷字元串是否全部為數字。具體可以使用`matches`方法和正則表達式`"^[0-9]+$"`來判斷。如果返回`true`,則表示字元串全部為數字;如果返回`false`,則表示字元串不全是數字。

詳細解釋

1. 正則表達式簡介:正則表達式是一種強大的文本處理工具,它使用特定的模式來描述一系列字元串的特徵。在Java中,可以使用正則表達式來進行字元串的匹配、查找和替換等操作。

2. 判斷字元串是否全為數字的方法:要判斷一個字元串是否全部由數字組成,可以使用Java中的`String`類的`matches`方法,結合正則表達式`"^[0-9]+$"`來進行判斷。這個正則表達式的含義是:從字元串的開始`^`到結束`$`,中間只能包含一位或多位數字。

3. 代碼示例:下面是一個簡單的Java代碼示例,展示了如何使用正則表達式判斷字元串是否全部為數字。

java

public class StringNumericCheck {

public static void main {

String str1 = "123456";

String str2 = "123a456";

System.out.println); // true,因為str1全是數字

System.out.println); // false,因為str2包含非數字字元

}

}

4. 結果解讀:如果`matches`方法返回`true`,則表示字元串中的每個字元都是數字;如果返回`false`,則表示字元串中包含非數字字元。通過這種方式,可以方便地判斷一個字元串是否完全由數字構成。

熱點內容
安裝密碼鎖為什麼要在裡面纏膠帶 發布:2024-11-24 17:27:59 瀏覽:979
php列標記 發布:2024-11-24 17:23:48 瀏覽:565
C語言項目案例分析 發布:2024-11-24 17:14:48 瀏覽:977
河內塔演算法 發布:2024-11-24 17:03:05 瀏覽:725
為什麼文件夾只讀 發布:2024-11-24 16:56:02 瀏覽:170
無線監控怎麼存儲 發布:2024-11-24 16:46:43 瀏覽:598
英朗買什麼配置 發布:2024-11-24 16:40:44 瀏覽:346
殺戮解壓法 發布:2024-11-24 16:40:36 瀏覽:945
避孕套存儲箱 發布:2024-11-24 16:25:09 瀏覽:735
如何自己搭建雲伺服器干貨 發布:2024-11-24 16:22:08 瀏覽:371