您的位置:首页 > 编程语言 > Java开发

[Java实现]吸血鬼数字问题的坑和尝试

2016-03-13 19:57 471 查看
看《Thinking in Java》第4章的时候有这么一个习题:



尝试着写了个程序:

package exercise4;

import java.util.Arrays;

public class E10_Batman {

public static void main(String[] args){
for (int i=1000;i<10000;i++){
int[] batman=new int[4];
//取各位的数字,batman[0]存的是各位,以此类推
batman[0]=(i/1)%10;
batman[1]=(i/10)%10;
batman[2]=(i/100)%10;
batman[3]=(i/1000);
for(int h=0;h<4;h++){
for(int j=0;j<4;j++){
if (h==j) continue;
int testval1=10*batman[h]+batman[j];
if (testval1<10||testval1>99) continue;
if (i%testval1==0) continue;
int testval2=i/testval1;
if((testval2>=10)&&(testval2<100)){
int a=testval2/10;  //十位
int b=testval2%10;  //个位
//看a和b是否在剩下的两个数中
if(Arrays.asList(batman).contains(a)&&Arrays.asList(batman).contains(b))
System.out.println(i);
}
System.out.print(i);
}
}
}
}
}
但是运行后没有任何响应,不知道为什么?再想一会儿。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: