java除法取整_水仙花數的判斷(JAVA)
阿新 • • 發佈:2021-01-31
技術標籤: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://blog.csdn.net/qq_44894916/article/details/110448872
來源:CSDN