English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste programa, você aprenderá como usar funções no Java para exibir todos os números de Armstrong entre dois intervalos (baixo e alto)
Para encontrar todos os números de Armstrong entre dois inteiros, criaremos a função checkArmstrong(). Esta funçãoVerificar se o número é um número de 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; //Cálculo de dígitos while (originalNumber != 0) { originalNumber /= 10; ++digits; } originalNumber = num; //O resultado contém a soma dos n-ésimos potências dos seus dígitos while (originalNumber != 0) { int remainder = originalNumber % 10; result += Math.pow(remainder, digits); originalNumber /= 10; } if (result == num) return true; return false; } }
Quando o programa é executado, a saída é:
1634 8208 9474 54748 92727 93084
No programa acima, criamos uma função chamada checkArmstrong() que aceita um parâmetro num e retorna um valor booleano.
Se o número for um número Armstrong, retorna true. Caso contrário, retorna false.
Imprimir saida numérica no main() com base no valor de retorno.