题目描述:吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘而得到,而这对数字各包含乘积一半位数的数字,其中从最初的数字中选取的数字可以任意排序。以两个0结尾的数字是不允许的,例如下列数字都是吸血鬼数字
1260=21*60;
1827=21*87;
2187=27*81;
写一个程序,找出4位数的所有吸血鬼数字
public void getVampireNum(){ for(int i=11;i<100;i++){ for(int j=i+1;j<100;j++){ int mul=i*j; if(mul>=1000&&mul<=9999&&(mul%100)!=0){ //四位数且后两位不为0 /* char[] mulChar=(mul+"").toCharArray();个人感觉转化为字符数组比较好 char[] numChar=(i+""+j).toCharArray(); */ String[] mulStr=(mul+"").split("");//将乘积转换为字符串数组 String[] numStr=(String.valueOf(i)+String.valueOf(j)).split("");//将乘数拼在一起转换为字符串数组 Arrays.sort(mulStr);//将字符串数组升序排序 Arrays.sort(numStr); if(Arrays.equals(mulStr, numStr)){ //使用Arrays的静态方法equals判断数组包含元素是否相等 System.out.println(i+"*"+j+"="+mul); } } } } }