`

java 判断字符串是否是整数

阅读更多

java 中,如何判断字符串是否是整数呢?

有两种方式:

方式一:通过正则表达式

/***
	 * 判断 String 是否int
	 * 
	 * @param input
	 * @return
	 */
	public static boolean isInteger(String input){
		Matcher mer = Pattern.compile("^[0-9]+$").matcher(input);
		return mer.find();
	}

 上述方法不完善,不能识别负数,比如识别不了“-9”,“+9”。多谢大家指教,改进如下:

/***
	 * 判断 String 是否是 int
	 * 
	 * @param input
	 * @return
	 */
	public static boolean isInteger(String input){
		Matcher mer = Pattern.compile("^[+-]?[0-9]+$").matcher(input);
		return mer.find();
	}

 测试代码如下:

@Test
	public void test_isInteger(){
		String input="123";
		System.out.println(input+":"+ValueWidget.isInteger(input) );
		
		input="000000000000009";
		System.out.println(input+":"+ValueWidget.isInteger(input) );
		
		input="-9";
		System.out.println(input+":"+ValueWidget.isInteger(input) );
		
		input="-09";
		System.out.println(input+":"+ValueWidget.isInteger(input) );
		
		input="--9";
		System.out.println(input+":"+ValueWidget.isInteger(input) );
	}

 运行结果:

123:true

000000000000009:true

-9:true

-09:true

--9:false

 

 

 

方式二:通过java 的异常

public static boolean isValidInt(String value) {
		try {
			Integer.parseInt(value);
		} catch (NumberFormatException e) {
			return false;
		}
		return true;
	}

 

1
7
分享到:
评论
10 楼 hw1287789687 2015-08-14  
使用Character.isDigit
public static boolean isNumeric(String str){  
        if(str == null){  
            return false;  
        }  
        for (int i = str.length();--i>=0;){  
            if (!Character.isDigit(str.charAt(i))){  
                return false;  
            }  
        }  
        return true;  
    }  
9 楼 zhuchao_ko 2013-11-06  
StringUtils.isNumeric("数值字符串")
from org.apache.commons.lang.StringUtils;
8 楼 hw1287789687 2013-09-24  
zrz_1989 写道
第一个:正则表达比较牵强,如果负数或者000000000000009你觉得如何

第二个:用异常机制来判断是否整数,如果对于unchecked类型个人认为应该是我们要解决的问题,并且这种方式对程序性能有些影响

建议笔者再贡献一个好方法吧

第一个:判断000000000000009 是没问题的。不过检查负数确实有问题。多谢指教
7 楼 QuarterLifeForJava 2013-09-23  
还有负数是吧。。晕。。。
return input.matches("[-]?[1-9][0-9]*|0");
6 楼 QuarterLifeForJava 2013-09-23  
return input.matches("[1-9][0-9]*|0");   

少了个0。。。
5 楼 QuarterLifeForJava 2013-09-23  
public static boolean isInteger(String input) {
		return input.matches("[1-9][0-9]*");
}


这样就可以了,求破!
4 楼 raymao 2013-09-23  
raymao 写道
zrz_1989 写道
第一个:正则表达比较牵强,如果负数或者000000000000009你觉得如何

第二个:用异常机制来判断是否整数,如果对于unchecked类型个人认为应该是我们要解决的问题,并且这种方式对程序性能有些影响

建议笔者再贡献一个好方法吧

^[+,-]*[1-9]{1}[0-9]*$ 这样?

^[+,-]?[1-9]{1}[0-9]*$
3 楼 raymao 2013-09-23  
zrz_1989 写道
第一个:正则表达比较牵强,如果负数或者000000000000009你觉得如何

第二个:用异常机制来判断是否整数,如果对于unchecked类型个人认为应该是我们要解决的问题,并且这种方式对程序性能有些影响

建议笔者再贡献一个好方法吧

^[+,-]*[1-9]{1}[0-9]*$ 这样?
2 楼 zrz_1989 2013-09-23  
应该是需要异常检查,上面说反了
1 楼 zrz_1989 2013-09-23  
第一个:正则表达比较牵强,如果负数或者000000000000009你觉得如何

第二个:用异常机制来判断是否整数,如果对于unchecked类型个人认为应该是我们要解决的问题,并且这种方式对程序性能有些影响

建议笔者再贡献一个好方法吧

相关推荐

    Java判断字符串是否是整数或者浮点数的方法

    今天小编就为大家分享一篇Java判断字符串是否是整数或者浮点数的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    详解Java判断是否是整数,小数或实数的正则表达式

    主要介绍了详解Java判断是否是整数,小数或实数的正则表达式,非常具有实用价值,需要的朋友可以参考下。

    java判断字符串是正整数的实例

    今天小编就为大家分享一篇java判断字符串是正整数的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    从控制台输入一串字符串,筛选整数输出。

    从控制台输入一串字符串,输出时,只输出其中的整数。

    Java判断数字是否在制定范围

    Java判断数字是否在制定范围 A B 中或者与A B 相等

    java字符串类型数字设置千分位分隔

    java字符串类型数字设置千分位分隔,可对整数、带小数点的数字、负数进行千分位分隔。并对字符串进行了数字判断,非数字类型的字符串不进行转换。

    java24点判断and字符串公式计算

    压缩包里有两个类,一个用于字符串公式计算,另一个可以用于24点判断。 例如: System.out.println(szys(strCast("3-4*-5+5")));//输出28.0 24点判断,键盘输入4个1~13间的整数,判断是否能组成24点,并输出计算公式

    java_字符串判断工具类的标准代码_android

    判断字符串是否为空 检测String是否全是中文 判定输入汉字 编译后的正则表达式缓存 将字符串的第一位转为小写 将字符串的第一位转为大写 下划线命名转为驼峰命名 驼峰命名法转为下划线命名 将异常栈信息转为字符串 ...

    LeetCode判断字符串是否循环-LeeCode-Java:记录Leecode刷题思路与知识点

    LeetCode判断字符串是否循环 LeeCode- Java 记录Leecode刷题思路与知识点 题目分类 Hash相关 题目描述: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的...

    Java用String实现大整数算法

    集成了大整数的、加法、减法(仅限被减数大于减数)、乘法、乘以2、除以2、减去1、判断奇偶、判断是否为1等方法 乘法和加法经过多次测试和修改,基本上不存在什么问题,除法因为没用到所以没有写。 可以用到大数算法...

    java 平时实验 乘法表 回文 闰年判断 字符统计

    这是JAVA实验的部分题目的代码。 编程打印数字1-9的乘法表,注意输出格式。 编写一个字符界面的Application程序,接受用户输入的10个整数,比较并输出其中的...采用递归方法编程,检查一个任意给定的字符串是否是回文。

    JAVA基础编程练习题.docx

    编写一个程序,输入一个字符串,判断该字符串是否为回文字符串。 编写一个程序,输入一个字符串,统计其中每个字符出现的次数,并输出结果。 编写一个程序,输入一个字符串,判断该字符串是否为单词的递增形式。 ...

    Java开发常用的方法

    资源为Java源代码,内含系列常用静态方法,可以直接拿来使用,如:拼合一维数组为字符串;产生在start和end之间的num个随机整数,返回值存在HashMap中;...判断字符串是否是小数;半角数字的unicode范围;取得ascii码;

    字符串整数的余数leetcode-isPalindrome:判断一个int是否是回文的java实现

    字符串可能的余数是回文 判断一个int是否是回文的java实现 判断一个整数是否是回文。 当一个整数向后读与向前读相同时,它就是回文。 示例 1: Input: 121 Output: true 示例 2: Input: -121 Output: false 说明:...

    3_判断素数_yes_

    任意输入一个正整数m,判断它是否是素数,若是素数,则输出“YES!”

    Java期末复习题编程题(47道)和选择题(30道) 包括异常处理和接口以及普通编程题

    编写一个Java程序,检查一个字符串是否是回文字符串(正读和反读都相同)。 编写一个Java程序,计算并输出给定整数的所有因子。 编写一个Java程序,找到并输出一个整数数组中的最大值和最小值。 编写一个Java程序,...

    Java实现字符串的匹配

    假设我们有一个一定个数的字母组成字串,我给每个字母分配一个素数,从2开始,往后类推。这样A将会是2,B将会是3,C将会是5,...遍历短字符串,判断乘积能否被短字符串中的字符对应的素数整除。  4.输出结果。  

    java源码包---java 源码 大量 实例

     设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节  通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到...

    Java开发技术大全(500个源代码).

    ArrayString.java 字符串数组 assignTwoDime.java 为二维数组赋值 getMaxElem.java 获取数组中的最大元素 incCapicity.java 演示StingBuffer的容量增长 SortDemo.java 排序示例 travelTwoDime.java 遍历二维...

Global site tag (gtag.js) - Google Analytics