A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. // 如何判断一个字符是数字
  2. public class Test
  3. {
  4.     /* 测试函数 */
  5.     public static void main(String[] args)
  6.     {
  7.         char[] ch =
  8.         {
  9.                 'a', '1', 'b', '2', 'c', '3', 'd', '4',
  10.         };
  11.         System.out.println(ch[0] + ": " + isDigitA(ch[0]));
  12.         System.out.println(ch[1] + ": " + isDigitA(ch[1]));
  13.         System.out.println(ch[2] + ": " + isDigitB(ch[2]));
  14.         System.out.println(ch[3] + ": " + isDigitB(ch[3]));
  15.         System.out.println(ch[4] + ": " + isDigitC(ch[4]));
  16.         System.out.println(ch[5] + ": " + isDigitC(ch[5]));
  17.         System.out.println(ch[6] + ": " + isDigitD(ch[6]));
  18.         System.out.println(ch[7] + ": " + isDigitD(ch[7]));
  19.     }

  20.     /* 1.用JAVA自带的函数 */
  21.     private static boolean isDigitA(char ch)
  22.     {
  23.         return Character.isDigit(ch);
  24.     }

  25.     /* 2.用正则表达式 */
  26.     private static boolean isDigitB(char ch)
  27.     {
  28.         Pattern pattern = Pattern.compile("[0-9]");
  29.         return pattern.matcher(String.valueOf(ch)).matches();
  30.     }

  31.     /* 3.用ascii码 */
  32.     private static boolean isDigitC(char ch)
  33.     {
  34.         if (ch < 48 || ch > 57)
  35.             return false;
  36.         else
  37.             return true;
  38.     }

  39.     /* 4.强制类型转化是否抛出异常来判断 */
  40.     private static boolean isDigitD(char ch)
  41.     {
  42.         try
  43.         {
  44.             int i = Integer.parseInt(String.valueOf(ch));
  45.             return true;
  46.         }
  47.         catch (NumberFormatException e)
  48.         {
  49.             e.printStackTrace();
  50.             return false;
  51.         }

  52.     }
  53. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马