题目要求:
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;
这样就妥妥的了
但是这种方法感觉效率不高,如果有想法,欢迎留言....