5位的数字10000~99999只保留其中每个数字出现一次的五位数,如12345,54321,删除掉如22103,22222,这样的数字,如何写正则表达式?

解决方案 »

  1.   

    public class Test {
        public static void main(String[] args) {
         int count = 0;
         for (int i = 10000; i < 99999; i++) {
    if (!String.valueOf(i).matches("\\d*(\\d)\\d*\\1\\d*")) {
    count ++;
    }
    }
         System.out.println(count);
         System.out.println(9*9*8*7*6);
        }
    }
      

  2.   

    public class Test {
        public static void main(String[] args) {
         int count = 0;
         for (int i = 10000; i < 99999; i++) {
    if (!String.valueOf(i).matches("\\d*(\\d)\\d*\\1\\d*")) {
    count ++;
    }
    }
         System.out.println(count);
         System.out.println(9*9*8*7*6);
        }
    }