`
jife123
  • 浏览: 89817 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

java 如何判断一个字符串是数字

 
阅读更多
断字符串是不是数字,大家可能会用一些java自带的方法,也有可能用其他怪异的招式,比如判断是不是整型数字,将字符串强制转换成整型,不是数字的就会抛出错误,那么就不是整型的了。但本文介绍的比较好的两种方法:

1。java类库自带的方法:

public boolean isNum(String msg){
if(java.lang.Character.isDigit(msg.charAt(0))){
return true;
}
return false;
}

更新:

yining提醒后,我才发现以上方法写得不够到位,现在就改为下面的简单说明了,至于具体的方法实现字符串判断是否数字我就不写了。
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;
}

(3)

import java.io.*;

class Devil
{
public static void main(String[] args)
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try{
System.out.print("请输入一个数:");
String s = (String)br.readLine();
int i = Integer.parseInt(s);
}catch(NumberFormatException nb)
{
System.out.println("不是一个数");
}
catch(IOException io){
}

}
}我想让程序判断输入的字符串是否为数字,如果不是,提示不是,直到输入的是数字为止.我这个程序只能判断一次!一次不是提示完就退出程序了!是捕捉的数字异常!怎么让他循环判断!直到是数字为止!会的帮忙写一下,说明一下,先谢谢了

import java.io.*;

class Test {

public static void main(String[] args) {

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
boolean b = true;
try {
while (b) {
System.out.print("请输入一个int长度的整数:");
String s = (String) br.readLine();
for (int j = 0; j < s.length(); j++) {
if (!(s.charAt(j) >= 48 && s.charAt(j) <= 57)) {
System.out.println("您输入的不是纯数字!请重新输入.");
b = true;
break;
} else {
b = false;
}
}
if (!b) {
int i = Integer.parseInt(s);
System.out.println("您输入的是数字:" + i);
}
}
} catch (Exception e) {
e.printStackTrace();
}

}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics