Informática, perguntado por Usuário anônimo, 5 meses atrás

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

Respondido por giselymodantas
2

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        

   }

}

Perguntas interessantes