怎样用 Java 计算水仙花数
水仙花数是一种特殊的三位数,它的百位、十位、个位的立方和等于该数字本身。例如,153 是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。
以下是用 Java 语言计算水仙花数的两种方法:
方法一:使用三重循环遍历所有可能的三位数,并计算每个数字的立方和,然后判断是否等于该数字本身。
```java
public class ShuiXianHua1 {
public static void main(String[] args) {
for (int i = 1; i < 10; i++) {
for (int j = 0; j < 10; j++) {
for (int k = 0; k < 10; k++) {
if (i * i * i + j * j * j + k * k * k == i * 100 + j * 10 + k) {
System.out.print(i * 100 + j * 10 + k + " ");
}
}
}
}
}
}
```
方法二:使用一个循环遍历所有的三位数,然后计算每个数字的立方和,并判断是否等于该数字本身。
```java
public class ShuiXianHua {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
int sumOfCube = 0;
for (int currentI = i; currentI > 0; currentI /= 10) {
int currentBit = currentI % 10;
sumOfCube += currentBit * currentBit * currentBit;
}
if (sumOfCube == i) {
System.out.print(i + " ");
}
}
}
}
```
在上面的代码中,我们使用了三重循环和单个循环两种方法来计算水仙花数。第一种方法使用三个循环变量 i、j、k 来遍历所有可能的三位数,然后计算每个数字的立方和,并判断是否等于该数字本身。第二种方法使用一个循环变量 i 来遍历所有的三位数,然后计算每个数字的立方和,并判断是否等于该数字本身。
此外,我们也可以使用 Applet 来计算水仙花数,并将结果显示在图形化界面上。
```java
import java.awt.*;
import java.applet.*;
import java.math.*;
public class Mysxh extends Applet {
int num;
int total;
int temp;
int count;
Font f1 = new Font("宋体", Font.PLAIN, 20);
Font f2 = new Font("宋体", Font.PLAIN + Font.BOLD, 22);
Color c1 = Color.blue;
Color c2 = Color.blue;
public void paint(Graphics g) {
// ...
}
}
```
在这个 Applet 中,我们使用了 Font 和 Color 类来设置字体和颜色,然后使用 Graphics 类来绘制图形化界面。我们也使用了一个循环来遍历所有的三位数,并计算每个数字的立方和,然后判断是否等于该数字本身。如果是水仙花数,则输出该数字及其顺序号。
计算水仙花数可以使用多种方法,包括使用三重循环、单个循环和 Applet 等。我们可以根据实际情况选择合适的方法来计算水仙花数。