Faça um programa Java que solicite ao usuário a entrada de um número inteiro qualquer. Em seguida o programa informará a unidade, a dezena e a centenadesse número.Inclua comentários no programa.Exemplo: caso o usuário informe 2763, o programa deverá responder com:Unidade: 3.Dezena: 6.Centena: 7.Exemplo 2: caso o usuário informe 25, o programa deverá responder com:Unidade: 5.Dezena: 2.Centena: 0.(Dica: utilize o operador de resto da divisão inteira)
Soluções para a tarefa
Respondido por
2
Irei utilizar o objeto Scanner para leitura de dados via teclado. Agora vamos a lógica:
Problema
Imagine que o usuário informou o número xyz. Precisamos pegar a unidade e armazenar em uma variável. Como fazemos isso? Simples, xyz % 10 = z, ou seja, o resto da divisão de qualquer número por 10, se não for uma divisão exata, me retorna a unidade.
35 % 10 = 5
109 % 10 = 9
...
Resolução
Pegar a unidade foi fácil, mas e pegar a dezena y que está no meio do número? Simples, divide o número xyz por 10, sobra xy e xy % 10 = y. Dividimos xy por 10 e sobra x, x % 10 = x e é importante que essa última operação seja feita, porque nesse caso como são apenas 3 dígitos parece desnecessário, mas e se houvessem 4 dígitos? 10 dígitos? Agora que já sabe a lógica, vamos ao código.
Obs.: divisão de inteiros resulta em inteiros.
Código
import java.util.Scanner; //Importando classe para instanciar o objeto de leitura
public class Udc {
public static void main(String[] args) {
Scanner leia = new Scanner(System.in); //Objeto para leitura
int x, u, d, c; //Valor, unidade, dezena e centena
//Leitura
System.out.print("Informe um número qualquer: ");
x = leia.nextInt();
//Pegando a unidade
u = x % 10;
//Eliminando a unidade
x = x / 10;
//Pegando a dezena
d = x % 10;
//Eliminando a dezena
x = x / 10;
// Pegando a centena
c = x % 10;
//Exibindo resultado na tela
System.out.printf("\nUnidade = %d\nDezena = %d\nCentena = %d\n", u, d, c);
}
}
Não sei se já usou o print formatado, basicamente ele substitui o que está no marcador %d por um número inteiro especificado após as aspas. O uso da vírgula é para separar os parâmetros.
Problema
Imagine que o usuário informou o número xyz. Precisamos pegar a unidade e armazenar em uma variável. Como fazemos isso? Simples, xyz % 10 = z, ou seja, o resto da divisão de qualquer número por 10, se não for uma divisão exata, me retorna a unidade.
35 % 10 = 5
109 % 10 = 9
...
Resolução
Pegar a unidade foi fácil, mas e pegar a dezena y que está no meio do número? Simples, divide o número xyz por 10, sobra xy e xy % 10 = y. Dividimos xy por 10 e sobra x, x % 10 = x e é importante que essa última operação seja feita, porque nesse caso como são apenas 3 dígitos parece desnecessário, mas e se houvessem 4 dígitos? 10 dígitos? Agora que já sabe a lógica, vamos ao código.
Obs.: divisão de inteiros resulta em inteiros.
Código
import java.util.Scanner; //Importando classe para instanciar o objeto de leitura
public class Udc {
public static void main(String[] args) {
Scanner leia = new Scanner(System.in); //Objeto para leitura
int x, u, d, c; //Valor, unidade, dezena e centena
//Leitura
System.out.print("Informe um número qualquer: ");
x = leia.nextInt();
//Pegando a unidade
u = x % 10;
//Eliminando a unidade
x = x / 10;
//Pegando a dezena
d = x % 10;
//Eliminando a dezena
x = x / 10;
// Pegando a centena
c = x % 10;
//Exibindo resultado na tela
System.out.printf("\nUnidade = %d\nDezena = %d\nCentena = %d\n", u, d, c);
}
}
Não sei se já usou o print formatado, basicamente ele substitui o que está no marcador %d por um número inteiro especificado após as aspas. O uso da vírgula é para separar os parâmetros.
Perguntas interessantes
Português,
10 meses atrás
Geografia,
10 meses atrás
Filosofia,
10 meses atrás
Biologia,
1 ano atrás
Informática,
1 ano atrás
Administração,
1 ano atrás