Podem me dar uma dica de como posso, enquanto um numero for divisivel por 10, ir decompondo o mesmo e somando o resto da divisão, ou seja:
123 dividido por 10 tem como resultado 12 onde sobram 3;
12 dividido por 10 tem como resultado 1 onde sobra 2;
2 dividido por 10 tem como resultado 0 onde sobra 1.
Neste exemplo utilizando o valor 123 e somando o resto de todas as divisões feitas teriamos o numero 6.
A minha duvida é :
Como faço para guardar e somar o resto da divisão para depois imprimir a soma.
Vejam parte do código onde tento resolver o exercicio:
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int cont = 0, soma = 0;
System.out.println(“DIGITE UM NUMERO”);
int numero = s.nextInt();
while (numero >= 10) {
soma = numero % 10;
}
System.out.println(soma);
}
vai acumulando dentro do loop e atualizando o valor de numero…
[code] public static void main(String[] a) throws Exception {
Scanner s = new Scanner(System.in);
int soma = 0;
System.out.println("DIGITE UM NUMERO");
int numero = s.nextInt();
while (numero >= 10) {
soma += numero % 10; //acumula somador
numero /= 10; //atualiza numero
}
System.out.println(soma);
}[/code]
[code]
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int cont = 0, soma = 0;
System.out.println(“DIGITE UM NUMERO”);
int numero = s.nextInt();
while (numero != 0) { //vamos dividir até o numero ser 0
soma = soma + numero %10; //soma o ultimo numero
numero = numero /10; //retira o último número
}
System.out.println(soma);
}
}[/code]
Para o 123 tens:
123 diferente de 0, entra no while
soma = 3 (ultimo numero de 123)
numero = 12 (123 / 10)
12 diferente de 0, entra no while
soma = 3 + 2 (ultimo numero de 12)
numero = 1 (12 / 10)
1 diferente de 0, entra no while
soma = 5 + 1
numero = 0 (1 / 10)
package estudandojava;
import java.util.Scanner;
/**
*
* @author Alexander
*/
public class Exercicio02Pag82 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int cont = 0, soma = 0;
System.out.println("DIGITE UM NUMERO");
int numero = s.nextInt();
while (numero != 10) { // enquanto numero for diferente de zero
soma = soma + numero % 10;// faz a divisão e guarda o resto na variavel soma
numero /=10; // atualiza o numero para a nova divisão
}
System.out.println(soma);
}
}