本文目錄一覽:
- 1、java如何判斷字符串中是否含有數字
- 2、Java中判斷字符串是否為數字的幾種方法
- 3、java判斷數字類型(小數和整數)
- 4、Java中怎樣判斷一個字符串是否是數字
- 5、java中怎麼判斷一個字符串是否為數字
java如何判斷字符串中是否含有數字
一、算法思想
從字符串的第一個字符開始,逐個判斷字符是否是數字,若是數字,說明字符串中包含數字,否則繼續判斷下一個字符,直到找到數字或到字符串結束也沒有發現數字。
二、操作過程
J a v a 2 E n t e r p r i s e E d i t i o n
^(不是數字)
^(不是數字)
^(不是數字)
^(不是數字)
^(不是數字)
^(是數字,結束)
三、程序代碼
public class Main {
public static void main(String[] args) {
System.out.println(containDigit(“Java 2 Enterprise Edition”));
}
/**
* 判斷字符串中是否包含數字
* @param source 待判斷字符串
* @return 字符串中是否包含數字,true:包含數字,false:不包含數字
*/
public static boolean containDigit(String source) {
char ch;
for(int i=0; isource.length(); i++) {
ch = source.charAt(i);
if(ch = ‘0’ ch = ‘9’) {
return true;
}
}
return false;
}
}
四、運行測試
true
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判斷數字類型是否為小數,可以採用正則表達式的方式來判斷,以下是使用正則表達式來判斷數字類型是否為小數的代碼:
public static boolean isNumber(String str) {
boolean isInt = Pattern.compile(“^-?[1-9]\\d*$”).matcher(str).find();
boolean isDouble = Pattern.compile(“^-?([1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*|0?\\.0+|0)$”).matcher(str).find();
return isInt || isDouble;
}
擴展資料
java判斷數字類型,正則表達式用法:
1、$:匹配輸入行尾。如果設置了RegExp對象的Multiline屬性,$也匹配「\n」或「\r」之前的位置。
2、*:匹配前面的子表達式任意次。例如,zo*能匹配「z」,也能匹配「zo」以及「zoo」。*等價於{0,}。
3、+:匹配前面的子表達式一次或多次(大於等於1次)。例如,「zo+」能匹配「zo」以及「zoo」,但不能匹配「z」。+等價於{1,}。
4、?:匹配前面的子表達式零次或一次。例如,「do(es)?」可以匹配「do」或「does」。?等價於{0,1}。
5、{n,}:n是一個非負整數。至少匹配n次。例如,「o{2,}」不能匹配「Bob」中的「o」,但能匹配「foooood」中的所有o。「o{1,}」等價於「o+」。「o{0,}」則等價於「o*」。
參考資料:百度百科—正則表達式
Java中怎樣判斷一個字符串是否是數字
用java的異常機制,不僅可以判斷是否是數字,還可以判斷整數或者小數:
public void checkInt(String bh){
try{
int num = Integer.parseInt(bh);//將輸入的內容轉換成int
System.out.println(“是整數:”+num);//是整數
}catch (NumberFormatException e) {//轉換成int類型時失敗
try{
double d =Double.parseDouble(bh);//轉成double類型
System.out.println(“是小數:”+d);//是小數
}catch (NumberFormatException e2) {//轉成double類型失敗
System.out.println(“不是數字”);
}
}
}
java中怎麼判斷一個字符串是否為數字
可以使用Character類的isDigit逐位判斷。但是這樣無法判斷小數、負數。
也可以直接使用正則:
Pattern
pattern
=
Pattern.compile(“-?[0-9]+\\.?[0-9]*”);
String
str
=
“-55.5555”;
Matcher
isNum
=
pattern.matcher(str);
if(
isNum.matches()
){
System.out.println(“數字”);
}
原創文章,作者:RAXN,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/132405.html