您的位置:首页 > 编程语言 > Java开发

java 检测string是否全是数字的思路

2013-10-01 01:35 309 查看
最近写程序看到需要对一个string进行检测,例如规定string必须是全数字的字符组成的,诸如此类。

在网上看到网友们提供的思路大多都是正则表达式,但是我觉得对于一些简单的检测需求,没必要进行这样规模的复杂检测。

举个例子:java swing编程时,要求界面上一个JTextField输入必须是纯数字的,那么可以用如下的思路来检测。

public class asd {
public static void main(String[] args) {
byte[] bt;
String test = "12345678";//要检测的字符串
int temp;// 中转变量
int logo = -1;// 标志,如果-1,则表示string是一个数字串.如果0,则表示不符合规范
bt = test.getBytes();// 将string转化成byte数组
for (int i = 0; i < bt.length; i++) {
temp = bt[i] - 48;// int范围大于byte,所以可以直接赋值,减去48可以使原来的数字字符变成0-9的数字
if (temp < 0 || temp > 9)//temp不符合检测,表示string出现了非数字字符
{
logo = 0;//让标志等于0
break;// 若发现非数字字符出现,那么立刻中断查询
}
}
if (logo == -1) {
System.out.println("全是数字");
} else {
System.out.println("不全是数字");
}
}
}


如果是字符“0”-“9”,那么转化成byte类型以后,再减去48,一定是0-9的数字。所以可以利用这个特点来对string进行检测。

可以对test变量反复赋值检测程序是否可行,最后结果表明这个思路是可以的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java swing string