Você está aqui: Java ::: Dicas & Truques ::: Matemática e Estatística

Java para iniciantes - Como inverter um número inteiro em Java usando apenas laços e operadores matemáticos

Quantidade de visualizações: 3582 vezes
Esta dica é mais uma lembrança dos exercícios de programação que fazemos nos cursos de Ciência da Computação, Sistemas de Informação, etc. Trata-se de inverter um número inteiro em Java usando apenas laços e operadores matemáticos. Considero este um ótimo exercício para melhorar sua lógica de programação.

Veja o código Java completo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package arquivodecodigos;

import java.util.Scanner;
 
public class Estudos{
  public static void main(String[] args) {
    // vamos fazer a leitura usando a classe Scanner
    Scanner entrada = new Scanner(System.in);
     
    // vamos pedir ao usuário que informe um número inteiro
    System.out.print("Informe um número inteiro: ");
    int numero = Integer.parseInt(entrada.nextLine());
    int inverso = 0, temp; 
    
    // enquanto número for diferente de zero
    while(numero != 0){    
      // temp recebe o resto da divisão do número por 10
      temp = numero % 10;
      // e vamos guardando no inverso    
      inverso = inverso * 10 + temp;    
      // número recebe ele dividido por 10
      numero = numero / 10;    
    }    
  
    // e agora mostramos o resultado
    System.out.println("O número invertido é " + inverso); 
  }
}

Ao executarmos este código nós teremos o seguinte resultado:

Informe um número inteiro: 842
O número invertido é 248

Link para compartilhar na Internet ou com seus amigos:

Java ::: Coleções (Collections) ::: Set (Conjunto)

Como usar objetos da interface Set do Java para representar a interseção (ou intersecção) de dois ou mais conjuntos

Quantidade de visualizações: 4546 vezes
Na teoria dos conjuntos, a interseção (português brasileiro) ou intersecção (português europeu) de dois ou mais conjuntos é o conjunto dos elementos que, simultaneamente, pertencem a dois ou mais destes conjuntos. Assim, seja A = {2, 5, 8, 19, 30} e B = {2, 3, 1, 30}. A interseção desses dois conjuntos é C = {2, 30}.

Na programação Java podemos representar a interseção de dois conjuntos usando objetos da interface Set e qualquer uma de suas implementações. Para este exemplo vou usar a classe TreeSet, que permite a ordenação dos elementos. Veja o código:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package estudos;

import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;

public class Estudos{
  public static void main(String[] args) {
    // primeiro conjunto
    Set<Integer> conjuntoA = new TreeSet<>();
    conjuntoA.add(2);
    conjuntoA.add(5);
    conjuntoA.add(8);
    conjuntoA.add(19);
    conjuntoA.add(30);
    
    // segundo conjunto
    Set<Integer> conjuntoB = new TreeSet<>();
    conjuntoB.add(2);
    conjuntoB.add(3);
    conjuntoB.add(1);
    conjuntoB.add(30);
    
    // vamos obter a interseção dos dois conjuntos      
    Set<Integer> conjuntoC = intersecao(conjuntoA, conjuntoB);        
    
    // vamos exibir os elementos no conjunto C
    Iterator iterator = conjuntoC.iterator();
    while(iterator.hasNext()){
      System.out.println(iterator.next());
    }
  }
  
  // método genérico que permite obter a interseção de dois conjuntos
  public static <T> Set<T> intersecao(Set<T> conjA, Set<T> conjB){
    Set<T> conjC = new TreeSet<>();
    // percorremos todos os elementos do conjunto A
    for(T elemento: conjA){
      // e verificamos se o elemento está contido no conjunto B
      if(conjB.contains(elemento)){
        conjC.add(elemento); // se estiver contido nós o adicionamos no conjunto C 
      }
    }
    
    return conjC; // e retornamos o conjunto C
  }
}

Ao executarmos este código teremos o seguinte resultado:

2
30


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico

Exercícios Resolvidos de Java - Ler um número inteiro, separar seus dígitos e imprimí-los individualmente separados por espaços

Quantidade de visualizações: 19337 vezes
Pergunta/Tarefa:

Escreva um programa Java console ou GUI que leia um inteiro de três dígitos, separe o valor em seus dígitos correspondentes e imprima-os individualmente separados por espaço. Por exemplo, se o usuário informar o valor 398, seu programa deverá exibir 3 9 8. Veja a saída que deverá ser gerada (use apenas os operadores aritméticos para a realização desta tarefa):

Informe um valor inteiro de três dígitos: 398
Os dígitos separados são: 3 9 8
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

public static void main(String[] args){
  // não se esqueça de adicionar um import para a classe Scanner
  // import java.util.Scanner;

  // vamos criar um objeto da classe Scanner
  Scanner entrada = new Scanner(System.in);

  // vamos solicitar ao usuário que informe um valor inteiro
  // na faixa 100 a 999 (incluindo)
  System.out.print("Informe um valor inteiro de três dígitos: ");

  // vamos ler o valor informado
  int valor = Integer.parseInt(entrada.next());

  // vamos verificar se o valor está na faixa permitida
  if(valor < 100 || valor > 999){
    System.out.println("Valor fora da faixa permitida");
    System.exit(0);
  }

  // vamos extrair os dígitos indidualmente, da esquerda para a direita
  // vamos obter o primeiro dígito
  int primeiro = valor / 100;
  valor = valor % 100;

  // vamos obter o segundo dígito
  int segundo = valor / 10;
  valor = valor % 10;

  // vamos obter o terceiro valor
  int terceiro = valor;

  System.out.println("Os dígitos separados são: " + primeiro + " " +
    segundo + " " + terceiro);
}



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços

Exercícios Resolvidos de Java - Escreva um programa Java que usa o laço for para desenhar um padrão de diamante de estrelas

Quantidade de visualizações: 1323 vezes
Exercício Resolvido de Java - Escreva um programa Java que usa o laço for para desenhar um padrão de diamante de estrelas

Pergunta/Tarefa:

Neste exercício para a prática da linguagem Java você deverá usar o laço for para desenhar o famoso padrão de diamante de estrelas. Você pode também usar o laço while, se assim você o desejar.

O programa deverá pedir que o usuário informe a quantidade de linhas que marcará a metade do diamante.

Seu programa deve apresentar a seguinte saída:

Informe a quantidade de linhas: 5
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *
Resposta/Solução:

Veja a resolução comentada deste exercício em Java:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package exercicio;

import java.util.Scanner;

public class Exercicio {
  public static void main(String[] args) {
    // vamos usar um objeto Scanner para ler a entrada do usuário
    Scanner leitura = new Scanner(System.in);
    
    // vamos pedir a quantidade de linhas 
    System.out.print("Informe a quantidade de linhas: ");
    // vamos ler a entrada do usuário
    int linhas = Integer.parseInt(leitura.nextLine());
    
    int estrelas = 1; // começamos com uma estrela (no topo do diamante)
    int espacos = linhas - 1; // se linhas for igual a 5 nós começamos
    // com 4 espaços
    
    // repete duas vezes a quantidade de linhas informadas
    for(int i = 1; i < linhas * 2; i++){
      // vamos imprimir os espaços
      for(int j = 1; j <= espacos; j++){
        System.out.print(" ");
      }
        
      // agora vamos imprimir estrelas
      for(int j = 1; j < estrelas * 2; j++){
        System.out.print("*");
      }
		    
      // passamos para a próxima linha
      System.out.println();
        
      if(i < linhas){ // é a parte superior do diamante
        espacos--; // diminui os espaços
        estrelas++; // e aumenta as estrelas
      }
      else{ // é a parte inferior do diamente
        espacos++; // aumenta os espaços
        estrelas--; // e diminui as estrelas
      }
    }
  }
}



Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 67 usuários muito felizes estudando em nosso site.