判斷一個整數是否為水仙花數(迴圈分解,立方相加)
阿新 • • 發佈:2019-02-17
判斷一個數是否為水仙花數,最常規的做法就是:分解個十百位,立方相加與原數做相等判斷。現在我們來換種思路判斷一個三位正整數是否為水仙花數。
程式碼如下:
import java.util.*; class Method01 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("請輸入一個整數:"); int num = input.nextInt(); if(num >= 100 && num <= 999){ //判斷輸入是否正確,儘量的減少程式碼的bug. boolean flag = Method01.judgeDaf(num); if (flag){ System.out.println(num + "是水仙花數!"); }else{ System.out.println(num + "不是水仙花數!"); } }else{ System.out.println("Are u kidding me ? Please try again..."); } } public static boolean judgeDaf(int num) { int sum = 0,temp = num; //由於後面分解num,所以先儲存num的值。 while(num!=0) { int x = num % 10; sum += x*x*x; num /=10; } if (sum == temp) { return true; //是水仙花數,返回布林值true }else{ return false; } } }