LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1897|回复: 14

菜鸟求助:怎么判断一个string里全是数字?

[复制链接]
发表于 2004-5-27 06:02:59 | 显示全部楼层 |阅读模式
怎么判断一个string里全是数字,还是有其它符号?
请指教,多谢!!!!!
发表于 2004-5-27 08:30:49 | 显示全部楼层

re

如果只是判断到有个非常之法
[php]
import java.lang.*;
public class JudgeStr
{
        String str = "hbk23lh54325fhl";
       
        private void judge()
        {
                int i = Integer.parseInt(str);
                System.out.println(i);
        }
       
        public static void main(String args[])
        {
                new JudgeStr().judge();
        }
}
[/php]
如果str全是数字必将输出,若不是则回抛NumberFormatException还要常规方法吗?当然真正写程序是不会这样写的,呵呵。
发表于 2004-5-27 09:35:06 | 显示全部楼层

re

这是常规之法,呵呵
[php]
import java.lang.*;

public class JudgeChar
{
        String str = "86ggfd475";
       
        private void judgement()
        {
                for(int i=0;i<str.length();i++)
                {
                        switch(str.charAt(i))
                        {
                                case '0':
                                case '1':
                                case '2':
                                case '3':
                                case '4':
                                case '5':
                                case '6':
                                case '7':
                                case '8':
                                case '9':
                                        continue;
                               
                                       
                        }       
                        System.out.println("字符串str不全是数字");
                        System.exit(0);       
                }
                System.out.println("字符串str全是数字");
        }
       
        public static void main(String args[])
        {
                new JudgeChar().judgement();
        }
}
[/php]
发表于 2004-5-27 12:34:34 | 显示全部楼层
[PHP]
public class StringCheck{
        public static void main(String[] args){
                String yourString = "aldjflajdflajsdfalsjdflweuro265454540";
                boolean isDigit = true;
                for(int i =0;i<yourString.length();i++){
                        if(!Character.isDigit(yourString.charAt(i))){
                                isDigit = false;
                                break;
                        }
                }
                if(isDigit){
                        System.out.println("全部是数字");
                }else{
                        System.out.println("含有其它字符");
                }
        }
}[/PHP]
发表于 2004-5-27 14:35:29 | 显示全部楼层
[PHP]public static boolean isInt(String str)
    {
        if(null == str)
            return false;
        int i;
        try
        {
            i = Integer.parseInt(str);
        }
        catch(Exception e)
        {
            return false;
        }
        return true;
    }   [/PHP]
 楼主| 发表于 2004-5-27 15:16:32 | 显示全部楼层
不错,谢谢大家!!!
发表于 2004-5-29 00:35:27 | 显示全部楼层
要慎用try catch,一般来说,在catch里是不作任何的数据处理或者返回任何参数的,如果一个系统太多这样的用法,很容易崩溃!
发表于 2004-5-29 00:42:14 | 显示全部楼层
[PHP]

public class Test{
public final static String REG_DIGIT="[0-9]*";
public final static String REG_CHAR="[a-zA-Z]*";
public Test(){}

public boolean isDigit(String str){
        return str.matches(REG_DIGIT);
}

public boolean isChar(String str){
        return str.matches(REG_CHAR);
}

public static void main(String args[]){
Test t=new Test();
String s1="dsssdcd";
String s2="4014810";
String s3="jflj998";

System.out.println("s1 is a non-digit string:"+t.isChar(s1));
System.out.println("s1 is a digit string:"+t.isDigit(s1));

System.out.println("s2 is a non-digit string:"+t.isChar(s2));
System.out.println("s2 is a digit string:"+t.isDigit(s2));

System.out.println("s3 is a non-digit string:"+t.isChar(s3));
System.out.println("s3 is a digit string:"+t.isDigit(s3));


}



[/PHP]


输出结果

[PHP]
s1 is a non-digit string:true
s1 is a digit string:false
s2 is a non-digit string:false
s2 is a digit string:true
s3 is a non-digit string:false
s3 is a digit string:false


[/PHP]
发表于 2004-5-29 00:50:27 | 显示全部楼层
最初由 AirFish 发表
要慎用try catch,一般来说,在catch里是不作任何的数据处理或者返回任何参数的,如果一个系统太多这样的用法,很容易崩溃!

无稽之谈!!!
大多经典的java 书都会教如果利用异常编程。。。我做过的项目中利用try catch处理数据非常多。。。
发表于 2004-5-29 07:25:24 | 显示全部楼层
我同意AirFish的观点。
try catch 是方法之一,但的确不是个好习惯。
而且它对运行效率影响不小。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表