java5.从键盘输入一个三位数,并判断是否是水仙花数(各位数字立方之和等于数本身的三位整数)

如题所述

水仙花数, 主要用到的是基础的运算符相关的知识

参考代码和注释

import java.util.Scanner;

public class Demo {
static Scanner input;

public static void main(String[] args) {
input = new Scanner(System.in);
// int num = Integer.parseInt(input.nextLine()); //这是简单的读取数字.但是不能处理异常和错误的输入
int num = getNum();
if (isSXH(num)) {
System.out.println(num + "是水仙花数");
} else {
System.out.println(num + "不是水仙花数");
}
}

// 该方法用于从控制台读取一个3位数字
private static int getNum() {
int num;
while (true) {
System.out.println("请输入一个三位数:");
try {
num = Integer.parseInt(input.nextLine()); // 把输入的字符串转成数字
if (num >= 100 && num <= 999) {// 如果是3位数
break;// 那么跳出循环
} else {// 如果不是三位数
System.out.println("Sorry~输入错误!!!");
continue;// 那么继续要求输入
}
} catch (Exception e) {
System.out.println("Sorry~输入错误!!!");
continue;
}
}

return num;
}

// 该方法用于判断是否是水仙花数
private static boolean isSXH(int num) {
int b = num / 100; // 取得百位数
int s = num % 100 / 10; // 取得十位数
int g = num % 10; // 取得个位数
if (num == g * g * g + s * s * s + b * b * b) { // 判断是否是水仙花数
return true;
}
return false;
}
}

测试

请输入一个三位数:
a9bcd
Sorry~输入错误!!!
请输入一个三位数:
2988
Sorry~输入错误!!!
请输入一个三位数:
153
153是水仙花数

温馨提示:内容为网友见解,仅供参考
无其他回答

java5.从键盘输入一个三位数,并判断是否是水仙花数(各位数字立方之和等...
}return false;}}测试请输入一个三位数:a9bcdSorry~输入错误!!!请输入一个三位数:2988Sorry~输入错误!!!请输入一个三位数:153153是水仙花数

Java编程找出所有的水仙花数(水仙花数)。
1. 首先,“水仙花数”是指一个三位数,其各位数字立方和等于该数。例如:153是一个“水仙花数”,因为1的三次方+5的三次方+3的三次方等于153。2. 解此题的关键是如何从一个三位数中分离百位数、十位数、个位数。可以这样做:(1)百位数字a: `a = Math.floorDiv(i, 100)`(2)十位数字...

...所谓水仙花数,是一个三位数,其各位的立方和等于该数
java代码PS:最后运行的时候才发现只有4个水仙花数,自己可以尝试一下不会可以追问哦~public class Test { public static void main(String args[]) { int count=0;\/\/水仙花数个数计数器 for(int num=100;num<1000;num++) { int g=num%10;\/\/个位 int s=num\/10%10;\/\/十位 ...

在Java计算1-99999之间的水仙花数?有多少个?
\/\/水仙花数是指:一个三位数,其各位数字的立方和等于该数本身\/\/例如:153就是一个水仙花数。\/\/153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153 public class ShuiXianHuaShu { public static void main(String[] args) { int count = 0; for (int i = 100; i < 1000...

...一个三位数,其各位数字立方和等于该数本身。JAVA
\/** * 打印 10000 以内的所有水仙花数 * * 所谓“水仙花数”即一个整数满足其值等于各个数位的立方和。 * 例如:153是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3 * * 1) 检查一个数num是否为水仙花数 * 2) 检查一个范围内全部的num是否为水仙花数 * * num = 153; * n1 = ...

java的经典例题
【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。【程序3】 题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。【程序4】 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。【程序5】 题目:利用条件运算符的...

python编程求指定区间内的水仙花数
水仙花数 一个三位数,各数位立方之和等于数本身 程序 输出第一个和最后一个:全部的话,用语句 print(Narc)

[java程序语言设计] 求各位数字的立方和等于它本身的数
就是那个问题,别的没有错误。或者你可以对0-9做一个三次方的映射,就会减少程序中的乘法运算。

一个三位数,其各位数字的立方和等于此数本身
int main(){ for (int x = 1; x <= 9; x ++){ for (int y = 0; y <= 9; y++){ for (int z = 0; z <= 9; z ++){ if ((x*x*x + y*y*y + z*z*z) == (x*100 + y*10 + z)){ cout << "三位数是: "<< endl;cout << x << y << z << endl...

水仙花数的计算方法
1. 水仙花数的定义:它是一个三位数(n≥3)的特定组合,其中每个位上的数字的立方和等于该数本身。例如:153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。2. 计算方法的应用:水仙花数计算方法常用于编程实践中,特别是在学习编程语言如C语言、Java时,用作练习题。

相似回答