Preciso fazer um programa para a escola:
Construir um programa que calcule a soma dos algarismos pares de um número inteiro positivo introduzido pelo utilizador.
Por exemplo, se a entrada for o número 36781 a saída será 14 (8+6)
public static byte[] extrairDigitos(long numero) {
if (numero < 0) {
throw new IllegalArgumentException("numero não pode ser negativo");
}
if (numero < 10) {
return new byte[] { (byte) numero };
}
byte[] digitos = new byte[(int) Math.log10(numero) + 1];
for (int i = digitos.length - 1; i >= 0; i--) {
digitos[i] = (byte) (numero % 10);
numero /= 10;
}
return digitos;
}
Exemplo de uso:
public static void main(String[] args) {
int numero = 36781;
StringBuilder calculo = new StringBuilder("(");
int soma = 0;
for (byte digito : extrairDigitos(numero)) {
if (digito % 2 == 0) {
if (calculo.length() > 1) {
calculo.append("+");
}
calculo.append(digito);
soma += digito;
}
}
calculo.append(")");
System.out.println(numero);
System.out.println(soma + " " + calculo);
}