English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo programma, imparerai come utilizzare le funzioni in Java per visualizzare tutti i numeri di Armstrong tra due intervalli dati (basso e alto)
Per trovare tutti i numeri di Armstrong tra due interi, creeremo la funzione checkArmstrong(). Questa funzioneControlla se il numero è un numero di Armstrong.
public class Armstrong { public static void main(String[] args) { int low = 999, high = 99999; for(int number = low + 1; number < high; ++number) { if (checkArmstrong(number)) System.out.print(number + " "); } } public static boolean checkArmstrong(int num) { int digits = 0; int result = 0; int originalNumber = num; // Calcolo delle cifre while (originalNumber != 0) { originalNumber /= 10; ++digits; } originalNumber = num; // Il risultato contiene la somma delle potenze n dei numeri while (originalNumber != 0) { int remainder = originalNumber % 10; result += Math.pow(remainder, digits); originalNumber /= 10; } if (result == num) return true; return false; } }
Quando si esegue il programma, l'output è:
1634 8208 9474 54748 92727 93084
Nel programma sopra, abbiamo creato una funzione chiamata checkArmstrong() che accetta un parametro num e restituisce un valore booleano.
Se il numero è un numero di Armstrong, restituisce true. Altrimenti, restituisce false.
Stampa a video i numeri in base al valore di ritorno nel main()