分析:(1)水仙花数为三位数字
(2)分别打印出输入的三位数字的个位,十位,百位
(3)水仙花数的三位数字的每一位的个数的三次幂等于它本身
import java.util.Scanner;
/*
案例: A、如何获得一个三位数的 个位 十位 百位 189 1 8 9 ????
B、随意输入一个三位数 判断这个三位数是否是一个【水仙花】数
153
水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153
*/
public class Test08 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入三位数字:");
int s = scanner.nextInt();
if(s>=100&&s<=999){
int ge = s%10;
int shi = s/10%10;
int bai = s/100%10;
System.out.println("个位数为:"+ge);
System.out.println("十位数为:"+shi);
System.out.println("百位数为:"+bai);
int sum = (ge*ge*ge)+(shi*shi*shi)+(bai*bai*bai);
if (s==sum){
System.out.println("这是水仙花数");
}else {
System.out.println("不是水仙花数");
}
}else {
System.out.println("请输入一个正确的三位数");
}
}
}
判断水仙花数有哪些,并且输出水仙花数的总数
public class Test07 {
public static void main(String[] args) {
int count =0;
for (int i=100;i<=999;i++){
int bai = i/100;
int shi = i%100/10;
int ge = i%100%10;
int d = (bai*bai*bai)+(shi*shi*shi)+(ge*ge*ge);
if (i==d){
System.out.println("水仙花数为:"+i);
count++;
}
}
System.out.println("水仙花总数为:"+count);
}