• 【Java编程思想


    Thinking in Java



    这个程序我自己敲出来的代码,用的方法很笨的感觉,将就着吧,目前没时间想那么多,得继续学啊。

     1 class Vnum{
     2     public static void main(String args[]){
     3         CheckVampire cVampire = new CheckVampire();
     4         for(int i=1000;i<10000;i++){
     5             if(cVampire.isVampire(i)){
     6                 System.out.println(i);
     7             }
     8         }
     9     }
    10 
    11     static class CheckVampire{
    12         // 将num拆分为每一个,保存在numArr[]中
    13         void EveryBit(int num,int numArr[]){
    14             if((1000>num)||(10000<num)){
    15                 numArr[0]=numArr[1]=numArr[2]=numArr[3]=0;
    16                 return;
    17             }else if(num%100==0){
    18                 numArr[0]=numArr[1]=numArr[2]=numArr[3]=0;
    19                 return;
    20             }else{
    21                 numArr[3]=num/1000;
    22                 numArr[2]=num%1000/100;
    23                 numArr[1]=num%100/10;
    24                 numArr[0]=num%10;
    25             }
    26         }
    27         //输入一个num,返回值为true则该num为吸血鬼数字
    28         //由于是检测1000~9999以内的吸血鬼数字,则使用穷举法= =,网上应该有更好的办法
    29         boolean isVampire(int num){
    30             int numEveryBit[]=new int[4];
    31             EveryBit(num,numEveryBit);
    32             if(num==(numEveryBit[0]*10+numEveryBit[1])*(numEveryBit[2]*10+numEveryBit[3])){
    33                 return true;
    34             }
    35             else if(num==(numEveryBit[0]*10+numEveryBit[1])*(numEveryBit[3]*10+numEveryBit[2])){
    36                 return true;
    37             }
    38             else if(num==(numEveryBit[1]*10+numEveryBit[0])*(numEveryBit[2]*10+numEveryBit[3])){
    39                 return true;
    40             }
    41             else if(num==(numEveryBit[1]*10+numEveryBit[0])*(numEveryBit[3]*10+numEveryBit[2])){
    42                 return true;
    43             }
    44 
    45             else if(num==(numEveryBit[0]*10+numEveryBit[2])*(numEveryBit[1]*10+numEveryBit[3])){
    46                 return true;
    47             }
    48             else if(num==(numEveryBit[0]*10+numEveryBit[2])*(numEveryBit[3]*10+numEveryBit[1])){
    49                 return true;
    50             }
    51             else if(num==(numEveryBit[2]*10+numEveryBit[0])*(numEveryBit[1]*10+numEveryBit[3])){
    52                 return true;
    53             }
    54             else if(num==(numEveryBit[2]*10+numEveryBit[0])*(numEveryBit[3]*10+numEveryBit[1])){
    55                 return true;
    56             }
    57 
    58             else if(num==(numEveryBit[0]*10+numEveryBit[3])*(numEveryBit[1]*10+numEveryBit[2])){
    59                 return true;
    60             }
    61             else if(num==(numEveryBit[0]*10+numEveryBit[3])*(numEveryBit[2]*10+numEveryBit[1])){
    62                 return true;
    63             }
    64             else if(num==(numEveryBit[3]*10+numEveryBit[0])*(numEveryBit[1]*10+numEveryBit[2])){
    65                 return true;
    66             }
    67             else if(num==(numEveryBit[3]*10+numEveryBit[0])*(numEveryBit[2]*10+numEveryBit[1])){
    68                 return true;
    69             }
    70             else{
    71                 return false;
    72             }
    73         }
    74     }
    75 }

  • 相关阅读:
    c/c++ const
    Lucene2.9.1使用小结(同样适用于Lucene 3.0 )
    java 对properties 文件的写操作
    oracle 建表序列插入值
    jxl 读取2003 excel 示例
    HttpClient 的使用
    小故事
    iText 导出word 经典实现
    使用dom4j 解析xml
    lucene 在项目中的使用
  • 原文地址:https://www.cnblogs.com/JackOwen/p/3912439.html
Copyright © 2020-2023  润新知