你的位置:首页 > Java教程

[Java教程]122345随意排列,找出满足条件的数


  题目要求:

            1.必须包含122345这六个数

            2.数字中的第三位(百位)不能为4

            3.输出6位数里所有符合以上两个条件的数

 

代码如下:

  static String[] numberStrings = {"1","2","3","4","5"};    public static void main(String[] args) {    for(int i=122345;i<999999;i++){      onetof(i+"");    }      }  public static void onetof(final String number){    for(String n:numberStrings){      if(number.indexOf(n) <0)        return;    }    if(number.indexOf("4") ==3)      return;    if(number.lastIndexOf("2") ==number.indexOf("2"))      return;    if(number.indexOf("35")>0 || number.indexOf("53")> 0)      return;        System.out.println(number);  }

 

      那么,问题来了,如果不是6位数,而是7位呢,或者其它多少位,所以需要改变一下:

if(number.indexOf("4") == number.length()-3)      return;

这样就妥妥的了

 

 

但是这种方法感觉效率不高,如果有想法,欢迎留言....