水仙花數(JAVA)
- 水仙花數的判斷(JAVA)
水仙花數的判斷(JAVA)
用戶輸入一個數,判斷是否是"水仙花數",所謂"水仙花數"是指一個三位數,其各位數字立方和等于該數本身,
題目分析
- 水仙花數是一個三位數,
- 將用戶輸入的三位數拆分成為單獨的個位、十位、百位,
- 對三個數字分別進行三次方運算,然后對運算后的三個數進行求和,
- 如果運算得到的結果與用戶輸入的三位數相等,則說明該數為水仙花數,如果不等則說明不是,
代碼分析
- 鍵盤輸入需要用到Scanner,Scanner是JDK中封裝的一個類,該類的職責就是接收鍵盤的輸入值,并保存到程式的變數中,體現了程式和用戶的互動功能,
(1)匯入的包為:
import java.util.Scanner;
(2)創建Scanner物件
Scanner scanner = new Scanner(System.in);
- 如何得到拆分后的三位數呢?
- 在Java中,算術運算子/(除)是通過除法之后取整,例如5/2,在數學中是等于2.5,但是在Java中是等于2的,后面的0.5會自動舍棄,
- 算術運算子%(百分號)是進行取余操作,例如5%2,類似為5÷2=2···1,所以得到的結果為1,
所以得到的三位數分別可以表示為:
//對10作除法然后取余得到的數為個位數
int g = num%10;
//對10作除法得到一個兩位數,然后對10再取余得到個位數
int s = (num/10)%10;
//對100作整除得到一個數,即為百位數
int b = num/100;
- 通過if陳述句進行判斷個位數、十位數和百位數的總和是否與用戶輸入的三位數是否相等,
if(sum == num){
System.out.println("該數為水仙花數!");
}else{
System.out.println("該數不是水仙花數!");
}
詳細代碼如下
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("請輸入一個三位數:");
int num = sc.nextInt();
int g = num%10; //得到個位數
int s = (num/10)%10; //得到十位數
int b = num/100; //得到百位數
int sum = (g*g*g)+(s*s*s)+(b*b*b); //得到總和
//判斷是否相等
if(sum == num){ //若相等
System.out.println("該數為水仙花數!");
}else //若不等
System.out.println("該數不為水仙花數!");
}
}
運行結果

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/229163.html
標籤:java
上一篇:ES6中的類(Class)
下一篇:Java面向物件基礎--IO系統
