本文目录一览:
- 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("数字");
}