吸血鬼数字测试

吸血鬼数字测试

几天偶然翻看了下thinking in java。看到吸血鬼数字的题目。
21*60=1260
21*87=1827
找寻4位数的全部吸血鬼数字。
粗想一样,这个题目并不复杂,但是如果要做得好的话,并不是那么简单的。
就在网上找看有没有现成的源代码。
最好是能最简单的思想也不复杂的才行。
于是找到下面的代码:
 1 package  BloodSucker;
 2
 3 import  java.util.Arrays;
 4
 5 public   class  bloodSucker  {
 6
 7    public static void main(String[] args) {
 8        for(int i = 10; i <= 99; i++){
 9            for(int j = 10; j<= 99; j++){
10                int sun = i*j;
11                if(sun >=1000 && sun <= 9999){
12                    String [] str = String.valueOf(sun).split("");
13                    Arrays.sort(str);    //按照字符的升序排列
14                    String [] str1 =(String.valueOf(i)+String.valueOf(j)).split("");
15                    Arrays.sort(str1);    //对两个Arrays进行比较
16                    if(Arrays.equals(str, str1)){
17                        System.out.println(i+"*"+j+"="+i*j);
18                    }

19                }

20            }

21        }

22
23    }

24
25}

26

虽然这并不是自己所作的,
但是作为学习。
还是作为笔记贴写出来吧。
其中最重要的思想就是利用Arrays进行对数字比较的操作。

源地址
http://bbs.chinajavaworld.com/thread.jspa?threadID=744858&tstart=0&messageID=781612

你可能感兴趣的:(吸血鬼数字测试)