每天一个java小程序-3
2013-07-08 16:10
441 查看
JAVA练习题,能做多少就做多少。http://bbs.csdn.net/topics/110067294
这个是从CSDN看到的。每天一个吧 。【程序3】
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
这个好像除了它分析的这个方法没什么办法了,就这样吧。
==== Main.java ====
package main;
import narcissistic.Narcissistic;
public class Main {
public static void main(String[] args) {
Narcissistic nar = new
Narcissistic();
nar.getNarcissistic();
nar.printNarcissistic();
}
}
===== Narcissistic.java =====
package narcissistic;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Narcissistic {
public boolean isNarcissistic(int i3, int i2,
int i1, int value) {
if ((Math.pow(i3, 3) +
Math.pow(i2, 3) + Math.pow(i1, 3)) == value) {
return
true;
} else {
return
false;
}
}
public List getNarcissistic() {
int i;
if (narcissistic == null)
{
narcissistic = new ArrayList();
}
for (i = 100; i <= 999;
i++) {
int i3,
i2, i1;
i1 = i %
10;
i2 = (i /
10) % 10;
i3 = (i /
100) % 10;
if
(isNarcissistic(i3, i2, i1, i)) {
narcissistic.add(i);
}
}
return narcissistic;
}
public void printNarcissistic() {
Iterator it =
narcissistic.iterator();
while (it.hasNext()) {
int tmp =
it.next();
System.out.println(tmp);
}
}
private List narcissistic;
}
第三题结束。
相关文章推荐
- 每天一个java小程序-6
- 每天一个java小程序之数组复制与合并
- java入门#每天一个小程序#九九乘法
- 每天一个java小程序-5
- 每天一个java小程序-8
- 每天一个java小程序-4
- 每天一个java小程序-7
- 每天一个java小程序-2
- 每天一个java小程序-6
- 每天一个java小程序
- 1.每天一个java小程序之猜数字游戏
- 每天一个java小程序-5
- 3.每天一个java小程序之累加累乘 4000
- 每天一个java小程序-4
- 每天一个java小程序-3
- 2.每天一个java小程序之输入输出的两种方式
- 每天一个java小程序-2
- java入门#每天一个小程序#全排列
- 每天一个java小程序之冒泡排序
- 每天一个java小程序