lxh5431
2016-07-02 16:36
采纳率: 100%
浏览 6.1k
已采纳

java中如何判断输入的字符串是字符还是整数

我找到了判断字符的和转化成整数拼接的,就是不知道怎么去调用不用的方法

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • penglan_ 2016-07-04 08:13
    已采纳

    import java.util.Scanner;

    public class check {
    public static void main(String[] args) {
    System.out.println("请输入需要判断的字符串");
    Scanner sc=new Scanner(System.in);
    String testStr=sc.next();
    char[] test=testStr.toCharArray();
    for (char c : test) {
    int temp=(int)c;
    if(temp57)
    {
    System.out.println("字符");
    return;
    }

        }
        System.out.println("整数");
    
    }
    

    }

    
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 白白白小白 2016-07-02 17:39

    可以通过异常 处理来判断
    public static boolean isValidInt(String value) {

    try {

    Integer.parseInt(value);

    } catch (NumberFormatException e) {

    return false;

    }

    return true;

    }

    评论
    解决 无用
    打赏 举报
  • threenewbee 2016-07-02 22:26
     Pattern pattern = Pattern.compile("^(\\-){0,1}\\d+(\\.\\d+){0,1}$");
    Matcher matcher = pattern.matcher("123"); // 输入的字符串
    boolean b= matcher.matches();
    
    评论
    解决 无用
    打赏 举报
  • threenewbee 2016-07-02 22:44

    上面那个正则是浮点数,
    整数
    Pattern pattern = Pattern.compile("^(\-){0,1}\d+$");
    正整数
    Pattern pattern = Pattern.compile("^\d+$");

    评论
    解决 无用
    打赏 举报
  • threenewbee 2016-07-02 22:45
     上面那个正则是浮点数,
    整数
    Pattern pattern = Pattern.compile("^(\\-){0,1}\\d+$");
    正整数
    Pattern pattern = Pattern.compile("^\\d+$");
    
    评论
    解决 无用
    打赏 举报
  • wenwuxiaojia 2016-07-03 12:59

    强转为整型,如果不发生异常就是整数,否则就是字符

    评论
    解决 无用
    打赏 举报
  • _1_1_7_ 2016-07-04 01:46

    Integer.parseInt(str);

    Long.parseInt(str);

    如果你的整数很大,超过了long型,可以用BigInteger

     public static boolean isInteger(String str) {
    try {
    new BigInteger(str);
    } catch (NumberFormatException e) {
    return false;
    }
    return true;
    }
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题