黑马程序员技术交流社区

标题: 判断输入的是字符还是数字,有更全面的方法吗 [打印本页]

作者: Optimus    时间: 2014-12-14 17:30
标题: 判断输入的是字符还是数字,有更全面的方法吗
判断输入的是字符还是数字,我的代码如下,但是好像还不是很完善,希望大神提出更完善的方法。
  1. /**
  2. * 判断输入的是字符串还是数字
  3. * @author Administrator
  4. *
  5. */
  6. public class TestNumber01 {
  7.         public static void main(String[] args) {
  8.                 Scanner in = new Scanner(System.in);
  9.                 System.out.println("请输入:");
  10.                 String str = in.nextLine();
  11.                 if (isNum(str)) {
  12.                         System.out.println("你输入的是数字");
  13.                 } else {
  14.                         System.out.println("你输入的是字符串");
  15.                 }
  16.         }
  17.         public static boolean isNum(String str) {
  18.                 Pattern p = Pattern.compile("-?[0-9]+.?[0-9]*[^A-Za-z]");
  19.                 Matcher m = p.matcher(str);
  20.                 if(m.matches()){
  21.                         return true;
  22.                 }else{
  23.                         return false;
  24.                 }
  25.         }
  26. }
复制代码

作者: 李天富    时间: 2014-12-14 19:42
代码我就不写了,这里给你提点建议:
1.正则里数字可以用\d表示,加上转义字符就是"\\d"
2.小数点要用\.表示,加上转义字符就是"\\.","."代表的是任意字符。
3.简单的匹配判断没必要使用Pattern类,直接使用String的matches()方法就行了。
作者: Optimus    时间: 2014-12-14 23:12
李天富 发表于 2014-12-14 19:42
代码我就不写了,这里给你提点建议:
1.正则里数字可以用\d表示,加上转义字符就是"\\d"
2.小数点要用\.表 ...

多谢指教,正则还要再研究研究。
作者: Afridoce    时间: 2014-12-15 08:58
楼主加油!!!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2