【Java编程思想 - 练习】吸血鬼数字
来源:互联网 发布:淘宝虚拟物品怎么收货 编辑:程序博客网 时间:2024/06/05 06:03
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 }
0 0
- 【Java编程思想 - 练习】吸血鬼数字
- Java编程思想:吸血鬼数字
- 吸血鬼数字,Java编程思想第四章练习10
- java编程思想_009吸血鬼数字
- java编程思想之吸血鬼数字
- 查找四位数的吸血鬼数字(java编程思想)
- java编程思想学习笔记(4)--吸血鬼数字
- JAVA 编程思想 找出所有四位数的吸血鬼数字
- Java编程思想之吸血鬼数
- 《java编程思想》第四章练习10找出所有四位数的吸血鬼数
- 【Java】 Thinking in Java 4.8 练习10 吸血鬼数字
- 吸血鬼数字的java编程 java编程思想上的题目
- 吸血鬼数字的java编程 java编程思…
- JAVA 吸血鬼数字学习
- 吸血鬼数字(java)
- Java - 吸血鬼数字
- java 吸血鬼数字
- Java 吸血鬼数字
- 【Java编程思想】二、一切都是对象
- 【HTML 初学】1、HTML元素
- 【HTML 初学】2、HTML属性
- 【HTML 初学】3、HTML标题
- 【Java编程思想】三、操作符
- 【Java编程思想 - 练习】吸血鬼数字
- 算法笔记
- 【Android 初学】5、控件--ImageView的使用方法
- Memcached的CAS机制的实现
- 【Android 初学】6、线性布局--深入LinearLayout
- XShell连不上本机虚拟机报:Connection closed by foreign host.
- 【Android 初学】7、相对布局--初步入门
- Exception details are logged in Window > Show View > Error Log
- 【Android 初学】8、进度条(ProgressBar、SeekBar、RatingBar)