Muitas vezes, é preciso realizar tarefas com poucos recursos e fazer valer a LP. Sendo assim, imagine que o líder da sua equipe de trabalho lhe solicitou um método que fizesse algo bem específico: um programa em Java que receba do usuário um número com 3 algarismos (123,
435 ou 786, etc.) e imprima esse número ao contrário (321, 534 ou 687,
e assim por diante). Contudo, você só pode usar operações aritméticas (+, -, *, /, %).
Descreva como você faria e mostre esse código.
Soluções para a tarefa
Resposta:
Primeiramente, vamos examinar o problema. Há um número para inverter as posições de seus algarismos. Talvez a melhor abordagem seria testar um número simples e, depois, tentar generalizar.
Para simplificar, suponha que o número dado pelo usuário seja 123.
A operação aritmética para obter 3, que é o último número, será: 123 dividido por 10 é igual a 12 e o resto é 3. Então, tem-se uma operação que dá o resto. 123%10 = 3.
Logo, recebe-se do usuário o número; depois, obtém-se o resto da divisão por 10 e divide-se o próprio número por 10; imprime-se o
resto, até que o valor seja menor que 10, pois, desse modo, não se pode mais dividir por 10; logo, imprime-se o que sobrou do valor.
Assim, nesse caso, obtém-se 321.
Explicação:
O código seria:
package Testes;
import java.util.Scanner;
public class Desafio {
public static void main(String[] args) {
Scanner numero = new Scanner(System.in);
System.out.println("Digite um número por favor: ");
//Digamos que o valor é 123
int valor = numero.nextInt();
int resto=0;
resto=valor%10; //resto=3
valor=valor/10;// valor=12
System.out.print(resto); //imprime 3
resto=valor%10; //resto=2
valor=valor/10;// valor=1
System.out.print(resto); //imprime 2
System.out.print(valor); //imprime 1
}
}