3、"水仙花数"。所谓"水仙花数"是指一个3位数,其各位数字立方和等于该数本身。例如,153就是一水仙花数,因为153 = 13+53+33 。 请计算出所有的水仙花数,并以一行一个水仙花数的格式保存到文本文件data.txt中。输出格式如下: 153 = 1*1*1 + 5*5*5 + 3*3*3
时间: 2024-03-21 20:44:28 浏览: 43
以下是一个实现上述功能的程序示例:
```
import java.io.*;
public class NarcissisticNumber {
public static void main(String[] args) {
try {
FileWriter fw = new FileWriter("data.txt");
for (int i = 100; i < 1000; i++) {
int a = i / 100;
int b = i / 10 % 10;
int c = i % 10;
if (a * a * a + b * b * b + c * c * c == i) {
fw.write(i + " = " + a + "*" + a + "*" + a + " + " + b + "*" + b + "*" + b + " + " + c + "*" + c + "*" + c + "\n");
}
}
fw.close();
System.out.println("水仙花数计算完成!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
程序中使用for循环遍历所有的三位数,对于每一个三位数,将其拆分为百位数、十位数和个位数,并判断该数是否为水仙花数。如果是水仙花数,则将结果以指定的格式写入到指定的文件“data.txt”中。最后关闭文件写入流并输出提示信息。如果在读写文件过程中发生了IO异常,程序将打印出异常信息。
阅读全文