Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

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

Como testar se um número é par ou ímpar em Java

Quantidade de visualizações: 816 vezes
Muitas vezes precisamos saber se um determinado número é par ou ímpar. Isso pode ser feito em Java usando-se o operador de módulo "%", que retorna o resto de uma divisão por inteiros.

Veja o exemplo a seguir:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args){
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos ler um número inteiro
    System.out.print("Informe um valor inteiro: ");
    int num = Integer.parseInt(entrada.nextLine());

    // vamos testar se o número é par
    if(num % 2 == 0){
      System.out.println("Você informou um número par");
    }
    // é ímpar
    else{
      System.out.println("Você informou um número ímpar");
    }
  }
}

Ao executar este programa Java nós teremos o seguinte resultado:

Informe um valor inteiro: 8
Você informou um numero par

Link para compartilhar na Internet ou com seus amigos:

Java ::: Fundamentos da Linguagem ::: Tipos de Dados

Como usar o tipo de dados char da linguagem Java

Quantidade de visualizações: 25317 vezes
O tipo de dados char é usado para representar um único caractere. Veja:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

public class Estudos{
  public static void main(String args[]){
    char letra1 = 'A';
    char letra2 = 'B';     

    System.out.println("As letras são: "
      + letra1 + " e " + letra2);
    System.exit(0);
  }
}

Observe que um literal string deve estar entre aspas duplas, enquanto que um literal do tipo caractere deve estar entre aspas simples. Desta forma, "H" é uma string e 'H' é um caractere.

O tipo char é integral mas sem sinal. A faixa de uma variável deste tipo vai de 0 à 65536. Os caracteres em Java são codificados em Unicode, que é um codificação de 16 bits capaz de representar uma larga faixa de caracteres internacionais. Se os 9 bits mais significantes de um char forem todos 0, então a codificação será a mesma que o ASCII de 7 bits.

É possível atribuir literais inteiros à uma variável do tipo char. Veja:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

public class Estudos{
  public static void main(String args[]){
    char letra = 98;  

    System.out.println("A letra é: "
      + letra);
    System.exit(0);
  }
}

Este código exibirá o caractere 'b'. Veja um exemplo no qual imprimimos todas as letras do alfabeto minúsculo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

public class Estudos{
  public static void main(String args[]){
    for(char i = 97; i <= 122; i++){    
      System.out.print(i + " ");
    } 
    
    System.exit(0);
  }
}

O tipo char pode ser convertido (sem a necessidade de cast) para os seguintes tipos:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

char -> int -> long -> float -> double

Não é possível converter um char em um short ou byte. Caso isso seja realmente necessário, temos que fazer uma coerção (cast). Veja:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

public class Estudos{
  public static void main(String args[]){
    char letra = 57;
    byte valor = (byte)(letra); 
    
    System.exit(0);
  }
}

É fácil entender porque um char não pode ser convertido implicitamente em um byte. Um char possui 16 bits enquanto um byte possui apenas 8 bits. Mas, um short possui 16 bits. Assim, o que impede a conversão implicita de um char para um short? É simples. Como o tipo short possui sinal (aceita valores negativos) e o tipo char é sem sinal, o resultado é que o tipo short possui um bit a menos (reservado para o sinal) e portanto, não pode acomodar os 16 bits do tipo char.


Java ::: Dicas & Truques ::: Expressões Regulares

Java Expressões Regulares - Como substituir todas as ocorrências de uma substring em uma string usando expressões regulares

Quantidade de visualizações: 9255 vezes
Este exemplo mostra como substituir todas as ocorrências de uma substring em uma string usando expressões regulares na linguagem Java.

Nesta dica nós substituimos todas as ocorrências de "Java" por "C++".

Veja o código completo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

package arquivodecodigos;

import java.util.regex.*;
 
public class Estudos{ 
  public static void main(String args[]){ 
    String padrao = "Java";
    Pattern regPat = Pattern.compile(padrao);
    String frase = "Java? Gosto muito de Java.";
    System.out.println("Frase original: " + frase);
    Matcher matcher = regPat.matcher(frase);
    String res = matcher.replaceAll("C++");
    System.out.println("Depois da substituição: " + res);
  } 
} 

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

Frase original: Java? Gosto muito de Java.
Depois da substituição: C++? Gosto muito de C++.


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

Exercício Resolvido de Java - Usando um laço for para contar de 0 até 10 e somar todos os valores

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

Escreva um programa Java que usa o laço for para contar de 0 até 10 e somar todos estes valores, ou seja, 0 + 1 + 2 + 3 + etc. Como resultado seu programa deverá exibir o valor 55.

Resposta/Solução:

A primeira providência para a realização deste exercício é declarar uma variável soma do tipo int e atribuir a ela o valor inicial 0:

// variável int que gardará a soma dos valores
int soma = 0;

Em seguida faremos um laço for repetir de 0 até 10 e, a cada repetição, nós obtemos o valor da variável de controle e a somamos ao valor atual da variável soma. Veja:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

public static void main(String[] args){
  // laço for que conta de 0 até 10 e soma todos os valores
  
  // variável int que gardará a soma dos valores
  int soma = 0;  
    
  for(int i = 0; i <= 10; i++){
    // vamos somar mais este valor
    soma = soma + i;

    // poderia também ser
    // soma += i;
  }

  // vamos exibir a soma dos valores
  System.out.println("A soma dos valores de 0 a 10 é: " + soma);
}



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade)

Exercícios Resolvidos de Java - Um método recursivo que recebe uma String e retorna a quantidade de letras maiúsculas encontradas

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

Escreva um método recursivo que recebe uma palavra ou frase e retorna a quantidade de caracteres (letras) maiúsculos. Seu método deverá possuir a seguinte assinatura:

public static int contarMaiusculas(String frase){
  // sua implementação aqui
}
Veja que o método deverá funcionar para qualquer tamanho de string. Teste também com strings que contenham somente letras maiúsculas ou somente letras minúsculas.

Sua saída deverá ser parecida com:

Digite uma palavra ou frase: Arquivo de Códigos
A palavra ou frase contém 2 letras maiúsculas
Resposta/Solução:

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

Observação importante: Este código criará uma cadeia de chamadas recursivas. Cada chamada ao método contarMaiusculas() receberá uma cópia menor da palavra ou frase fornecida. Quando a última chamada recursiva do método receber uma string vazia, a cadeia começa a retornar. Note que os valores acumulados nas várias chamadas ao método vão sendo acumulados na variável quantidade.

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

package exercicio;

import java.util.Scanner;

public class Exercicio {
  public static void main(String[] args) {
    // cria um novo objeto da classe Scanner
    Scanner entrada = new Scanner(System.in);
    
    // solicita uma palavra ou frase ao usuário
    System.out.print("Digite uma palavra ou frase: ");
    // lê a palavra ou frase
    String frase = entrada.nextLine();
    
    int quantMaiusculas = contarMaiusculas(frase);
    System.out.println("A palavra ou frase contém " + quantMaiusculas +
      " letras maiúsculas");
  }
  
  // método recursivo que recebe uma palavra ou frase e retorna
  // a quantidade de letras maiúsculas
  public static int contarMaiusculas(String frase){
    /* Este código criará uma cadeia de chamadas recursivas. Cada
     * chamada ao método contarMaiusculas() receberá uma cópia menor
     * da palavra ou frase fornecida. Quando a última chamada recursiva do
     * método receber uma string vazia, a cadeia começa a retornar. Note
     * que os valores acumulados nas várias chamadas ao método vão sendo
     * acumulados na variável quantidade
    */ 
    int quantidade = 0;
    
    // o tamanho da string é maior que 0?
    if(frase.length() > 0){
      if(Character.isUpperCase(frase.charAt(0))){
        quantidade = 1 + contarMaiusculas(frase.substring(1));      
      }
      else{
        quantidade = contarMaiusculas(frase.substring(1));    
      }
    }
   
    return quantidade;
  }
}



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Ordenação e Pesquisa (Busca)

Exercícios Resolvidos de Java - Como usar a Ordenação da Bolha em Java para ordenar os valores de um vetor em ordem crescente ou decrescente

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

A Ordenação da Bolha, ou ordenação por flutuação (literalmente "por bolha"), também chamada de Bubble Sort, é um algoritmo de ordenação dos mais simples. A ideia é percorrer o array diversas vezes, a cada passagem fazendo flutuar para o topo o maior elemento da sequência. Essa movimentação lembra a forma como as bolhas em um tanque de água procuram seu próprio nível, e disso vem o nome do algoritmo.

No melhor caso, o algoritmo executa n operações relevantes, onde n representa o número de elementos do vetor. No pior caso, são feitas n2 operações. A complexidade desse algoritmo é de ordem quadrática. Por isso, ele não é recomendado para programas que precisem de velocidade e operem com quantidade elevada de dados.

Escreva um programa Java que declara, constrói um vetor de 10 inteiros e peça para o usuário informar os valores de seus elementos. Em seguida use a ordenação da bolha para ordenar os elementos em ordem crescente.

Sua saída deverá ser parecida com:

Informe o valor para o índice 0: 84
Informe o valor para o índice 1: 23
Informe o valor para o índice 2: 9
Informe o valor para o índice 3: 5
Informe o valor para o índice 4: 11
Informe o valor para o índice 5: 3
Informe o valor para o índice 6: 50
Informe o valor para o índice 7: 7
Informe o valor para o índice 8: 2
Informe o valor para o índice 9: 73

O array informado foi:

84   23   9   5   11   3   50   7   2   73   

O array ordenado é:

2   3   5   7   9   11   23   50   73   84
Resposta/Solução:

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

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // vamos declarar e construir um vetor de 10 elementos
    int valores[] = new int[10];
    
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos pedir que o usuário informe os valores
    for(int i = 0; i < valores.length; i++){
      System.out.print("Informe o valor para o índice " + i + ": ");
      valores[i] = Integer.parseInt(entrada.nextLine());
    }
    
    // vamos mostrar o vetor informado
    System.out.println("\nO array informado foi:\n");
    for(int i = 0; i < valores.length; i++){
      System.out.print(valores[i] + "   ");
    }
    
    // vamos ordenar os elementos do vetor usando a ordenação da bolha
    // laço externo de trás para frente
    for(int i = valores.length - 1; i > 1; i--){
      for(int j = 0; j < i; j++){ // laço interno vai no fluxo normal
        if(valores[j] > valores[j + 1]){ // temos que trocá-los de lugar 
          int temp = valores[j];
          valores[j] = valores[j + 1];
          valores[j + 1] = temp;
        }
      }
    }
    
    // vamos exibir o vetor já ordenado
    System.out.println("\n\nO array ordenado é:\n");
    for(int i = 0; i < valores.length; i++){
      System.out.print(valores[i] + "   ");
    }
    
    System.out.println("\n");
  }
}



Java ::: Dicas & Truques ::: Formulários e Janelas

Java Swing para iniciantes - Como definir ou obter o título de uma janela JFrame

Quantidade de visualizações: 11074 vezes
Nesta dica mostrarei como usar o método setTitle() da classe JFrame para definir o título da janela JFrame. Usaremos também o método getTitle() para obter o título da janela.

Veja o código Java Swing completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

import javax.swing.*;
 
public class Estudos extends JFrame{
  public Estudos() {
    setSize(350, 250);
    setVisible(true);
 
    // Define o título da janela    
    setTitle("Controle de Estoque");
 
    // obtém o título da janela
    JOptionPane.showMessageDialog(null, 
      "O título da janela é: " + this.getTitle());
  }
   
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

Ao executar este exemplo você verá uma janela JOptionPane com o texto "O título da janela é: Controle de Estoque".


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercícios Resolvidos de Java - Criando dois vetores de inteiros de forma que a soma dos elementos individuais de cada vetor seja igual a 30

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

Considere os seguintes vetores:

// dois vetores de 5 inteiros cada
int a[] = {50, -2, 9, 5, 17};
int b[] = new int[5];
Escreva um programa Java que preencha o segundo vetor de forma que a soma dos respectivos elementos individuais de cada vetor seja igual a 30.

Sua saída deverá ser parecida com:

Valores no vetor a: 50   -2   9   5   17   
Valores no vetor b: -20   32   21   25   13
Resposta/Solução:

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

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

package estudos;

public class Estudos {
  public static void main(String[] args) {
    // dois vetores de 5 inteiros cada
    int a[] = {50, -2, 9, 5, 17};
    int b[] = new int[5];
    
    // vamos preencher o segundo vetor de forma que a soma dos
    // valores de seus elementos seja 30
    for(int i = 0; i < b.length; i++){
      b[i] = 30 - a[i];  
    }
    
    // vamos mostrar o resultado
    System.out.print("Valores no vetor a: ");
    for(int i = 0; i < a.length; i++){
      System.out.print(a[i] + "   ");  
    }
    
    System.out.print("\nValores no vetor b: ");
    for(int i = 0; i < b.length; i++){
      System.out.print(b[i] + "   ");  
    }
    
    System.out.println();
  }
}



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

Exercícios Resolvidos de Java - Como somar o primeiro e o último dígito de um número inteiro informado pelo usuário em Java

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

Escreva um programa Java que pede para o usuário informar um número inteiro e mostre a soma do primeiro dígito com o último dígito. Atenção: você deve usar apenas os operadores matemáticos e a função log10().

Sua saída deverá ser parecida com:

Informe um número inteiro: 48763
A soma do primeiro e do último dígito é: 7
Resposta/Solução:

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

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

package estudos;
 
import java.util.Scanner;
 
public class Estudos{ 
  public static void main(String args[]){ 
    // vamos usar a classe Scanner para a leitura dos dados
    Scanner entrada = new Scanner(System.in);
    
    // vamos pedir para o usuário informar um número inteiro
    System.out.print("Informe um número inteiro: ");
    int numero = Integer.parseInt(entrada.nextLine());
    
    // vamos obter a quantidade (-1) de dígitos no número informado
    int quant = (int)Math.log10(numero);
    int primeiro_digito = (int)(numero / Math.pow(10, quant));
    int ultimo_digito = numero % 10;
  	
    // soma o primeiro e o último dígito
    int soma = primeiro_digito + ultimo_digito;
	
    // mostra o resultado
    System.out.println("A soma do primeiro e do último dígito é: " + soma);
  }
}



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

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

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á 24 usuários muito felizes estudando em nosso site.