写一个函数,检查字符串是否为整数,如果是,返回其整数值(Java), 

解决方案 »

  1.   

    #include<stdio.h> 
    void main() 

    char t; 
    int p; 
    printf("请输入一个字符:\n"); 
    scanf("%c",&t); 
    if((t>'a'&&t<'z')||(t>'A'&&t<'Z')) 
    printf("%c是整数",t); 
    p=(int)t; 
    printf("%c的整数值是%d",t,p); 
    printf("%c不是整数",t); 

      

  2.   


    import java.util.regex.*;
    public class TestInteger {
    static int check(String s){
    Pattern p=Pattern.compile("\\d+");
    Matcher m=p.matcher(s);
    while(m.matches()){
    return Integer.parseInt(s);
    }
    return -1;
    } public static void main(String[] args) {
    String s="12315465";
    int j=check(s);
    System.out.println("j="+j);
    String s1="adfasdf";
    int k=check(s1);
    System.out.println("k="+k);
    }
    }输出结果:
    j=12315465
    k=-1
      

  3.   

    public int isInteger(String a){
     try{
       int a = Integer.parseInt(a)
       return a;
     }catch(Excepiton e){
       //不是整数,怎么处理随便
     }
    }
      

  4.   

    新手上路费了不少脑筋哦,嘿嘿,代码如下:public class TestInt {
    public static void main(String[] args) {
    String st="12345";
    System.out.println(Test(st)); } static String Test(String st1){
    for(int i=0;i<st1.length();i++){
    if(st1.charAt(i)<='0'&&st1.charAt(i)>='9'){
    break;
    }
    }
    return st1;
    }
    }
      

  5.   

    修改2#代码
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class TestInteger {
    static int check(String s) {
    Pattern p = Pattern.compile("[+-]?\\d+");
    Matcher m = p.matcher(s);
    while (m.matches()) {
    return Integer.parseInt(s);
    }
    return -1;
    } public static void main(String[] args) {
    String s = "12315465";
    int j = check(s);
    System.out.println("j=" + j);
    String s1 = "-22";
    int k = check(s1);
    System.out.println("k=" + k);
    }
    }
      

  6.   


    public class Test {
    public static void main(String[] args) throws Exception {
    String s = "-123";
    Test.isInt(s);

    }

    public static void isInt(String s) {
     if(s.matches("[-,+]\\d+")) {
      System.out.println("字符串为整数");
    }else {
    System.out.println("字符串不为整数");
    }
    }
    }
      

  7.   

    正解、简单、有效,楼主多看看javaAPI哈,,大部分要实现的功能在里面都能找到方法来解决,,
      

  8.   

    public boolean isInteger(String str){ 
    try{ 
      Integer.parseInt(a) 
      return true; 
    }catch(Excepiton e){ 
      return false; 

    }
      

  9.   

    Cast一下看能不能catch到异常就行了!
      

  10.   


    import java.io.*;public class IsInteger
    {
    public static void main(String[] args) throws Exception 
    {
    while(true)
    {
    System.out.print("请输入整数字符串:");
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    String s=br.readLine();
    StringBuffer sb=new StringBuffer();
                            for(int i=0;i<s.length();i++)
    {
    if((int)s.charAt(i)>57 ||(int)s.charAt(i)<48)
    {
    System.out.println("该字符串不是整数,请重新输入");
    break;
    }
    else
    {
    sb.append(s.charAt(i));
    }
    }
                            if(s.length()==sb.length())
                            {
                               System.out.println(s);
                            }
    } }}
      

  11.   

    怎么都考虑的是“”字符串中本来就是int的情况
    万一是“32.25”这种情况呢?
      

  12.   


    public static void isInt(String s) {
             if(s.matches("[-,+]\\d+")) {   // if(s.matches("[-,+]?\\d+"))
                 System.out.println("字符串为整数");
            }else {
                System.out.println("字符串不为整数");
            }
        }