E-Book 650 Dicas e Truques de Python - PDF com 1.200 páginas
Você está aqui: Java ::: Coleções (Collections) ::: ArrayList

Java para iniciantes - Como embaralhar os elementos de uma ArrayList usando o método shuffle() da classe Collections

Quantidade de visualizações: 13276 vezes
Nesta dica mostrarei como usar o método estático shuffle() da classe Collections da linguagem Java para misturar, ou seja, embaralhar os elementos de um objeto da classe ArrayList.

Veja o código 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.ArrayList;
import java.util.Collections;
 
public class Estudos{
  public static void main(String[] args){
    // cria uma ArrayList que conterá strings
    ArrayList<String> nomes = new ArrayList<String>();
     
    // adiciona itens na lista
    nomes.add("Carlos");
    nomes.add("Maria");
    nomes.add("Fernanda");
    nomes.add("Osmar");    
     
    // exibe os elementos da ArrayList
    System.out.println("Ordem original:\n");
    for(int i = 0; i < nomes.size(); i++){
      System.out.println(nomes.get(i));    
    }  
 
    // Vamos embaralhar os itens da ArrayList
    Collections.shuffle(nomes); 
 
    // exibe os elementos da ArrayList
    System.out.println("\nElementos embaralhados:\n");
    for(int i = 0; i < nomes.size(); i++){
      System.out.println(nomes.get(i));
    }
 
    System.exit(0);
  }
}

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

Ordem original:

Carlos
Maria
Fernanda
Osmar

Elementos embaralhados:

Carlos
Fernanda
Osmar
Maria

Link para compartilhar na Internet ou com seus amigos:

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

Exercício Resolvido de Java - Um programa Java console ou GUI que receberá a duração de um evento expresso em segundos e exiba-o expresso em horas, minutos e segundos

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

Escreva um programa Java console ou GUI que receberá a duração de um evento expresso em segundos e exiba-o expresso em horas, minutos e segundos. Seu programa deverá exibir uma saída parecida com:

Informe a duração do evento em segundos: 3712
Duração do evento: 01:01:52


Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console (lendo a entrada do usuário por meio do uso da classe Scanner):

----------------------------------------------------------------------
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);

  // variáveis que vão guardar a duração em horas, minutos e segundos;
  int horas, minutos, segundos;
  int duracao_segundos; // guardará a duração em segundos

  // vamos solicitar a duração do evento em segundos
  System.out.print("Informe a duração do evento em segundos: ");

  // vamos ler os segundos informados
  duracao_segundos = Integer.parseInt(entrada.nextLine());

  // vamos obter a quantidade de horas do evento
  horas = duracao_segundos / 3600;
  // vamos obter os minutos
  minutos = (duracao_segundos / 60) % 60;
  // vamos obter os segundos restantes
  segundos = duracao_segundos % 60;

  // vamos exibir a duração do evento em horas, minutos e segundos
  System.out.printf("Duração do evento: %02d:%02d:%02d\n\n", horas, minutos, segundos);
}



Java ::: Dicas & Truques ::: Strings e Caracteres

Java para iniciantes - Como usar o método trim() da classe String para remover espaços antes e depois de uma palavra, frase ou texto

Quantidade de visualizações: 14604 vezes
Em várias ocasiões precisamos tratar textos lidos de arquivos ou informados pelo usuário. Como parte desse tratamento precisamos remover os espaços antes e depois da palavra, frase ou texto informado ou lido.

Para isso podemos usar o método trim() da classe String. Este método recebe como argumento uma string e retorna outra string com os espaços já removidos.

Veja um exemplo completo de seu uso:

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

// Este exemplo mostra como remover espaços do início
// e fim de uma string
 
public class Estudos{
  public static void main(String[] args){
    String frase = " Programar em Java é bom demais. ";
     
    frase = frase.trim();
     
    System.out.println(frase);
     
    System.exit(0);
  }
}

Este exemplo foi revisado e testado no Java 8.


Java ::: Pacote java.lang ::: Character

Como usar o método isDigit() da classe Character da linguagem Java para verificar se um caractere é um dígito de 0 a 9

Quantidade de visualizações: 9198 vezes
Em algumas situações, principalmente quando estamos validando dados informados pelo usuário, pode ser necessário verificar se um determinado caractere é um dígito de 0 a 9. Isso pode ser feito por meio do método isDigit() da classe Character. Este método estático recebe um caractere como argumento e retorna true se o caractere for um dígito e false em caso contrário.

Veja um exemplo no qual lemos um caractere informado pelo usuário e informamos se o mesmo é um dígito ou não:

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

import javax.swing.JOptionPane;

public class Main {
  public static void main(String[] args) {
    // vamos pedir ao usuário para informar um caractere qualquer
    char caractere = JOptionPane.showInputDialog("Informe um caractere:").charAt(0);
    
    // vamos testar se o caractere informado é um dígito
    if(Character.isDigit(caractere)){
      JOptionPane.showMessageDialog(null, "O caractere informado é um dígito");
    }
    else{
      JOptionPane.showMessageDialog(null, "O caractere informado não é um dígito"); 
    }
  }
}

Uma outra forma de verificar se um determinado caractere é um dígito é testar se o retorno de uma chamada ao método estático getType() da classe Character é a constante DECIMAL_DIGIT_NUMBER, também definida na classe Character. Veja uma modificação do exemplo anterior:

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

import javax.swing.JOptionPane;

public class Main {
  public static void main(String[] args) {
    // vamos pedir ao usuário para informar um caractere qualquer
    char caractere = JOptionPane.showInputDialog("Informe um caractere:").charAt(0);
    
    // vamos testar se o caractere informado é um dígito
    if(Character.getType(caractere) == Character.DECIMAL_DIGIT_NUMBER){
      JOptionPane.showMessageDialog(null, "O caractere informado é um dígito");
    }
    else{
      JOptionPane.showMessageDialog(null, "O caractere informado não é um dígito"); 
    }
  }
}

Finalmente, veja como ler uma string e verificar se ela contém apenas dígitos de 0 a 9:

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

import javax.swing.JOptionPane;

public class Main {
  public static void main(String[] args) {
    // vamos pedir ao usuário para informar uma string
    String str = JOptionPane.showInputDialog("Informe uma string:");
    
    // vamos verificar se a string contém apenas dígitos de 0 a 9
    boolean soDigitos = true;
    
    // percorre todos os caracteres da string
    for(int i = 0; i < str.length(); i++){
      if(!Character.isDigit(str.charAt(i))){
    	  soDigitos = false;
    	  break;
      }
    }
    
    if(soDigitos){
      JOptionPane.showMessageDialog(null, "A string contém apenas dígitos");
    }
    else{
      JOptionPane.showMessageDialog(null, "A string não contém somente dígitos"); 
    }
  }
}



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

Exercícios Resolvidos de Java - Escrever um algoritmo que recebe o salário-base de um funcionário, calcule e mostre o salário a receber

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

Faça um programa (algoritmo) Java que recebe o salário-base de um funcionário, calcule e mostre o salário a receber, sabendo-se que esse funcionário tem gratificação de 5% sobre o salário-base e paga imposto de 7% sobre o salário-base.

Sua saída deverá ser parecida com:

Informe o salário base: 1450.00
Gratificação: R$ 72,50
Imposto: R$ 101,50
Salário final: R$ 1.421,00

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)
----------------------------------------------------------------------

package estudos;

import java.text.NumberFormat;
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 ler o salario base
    System.out.print("Informe o salário base: ");
    double salario_base = Double.parseDouble(entrada.nextLine());
    
    // vamos calcular a gratificação
    double gratificacao = salario_base * (5.0 / 100);
    
    // vamos calcular o imposto
    double imposto = salario_base * (7.0 / 100);
    
    // e finalmente calculamos o salário final
    double salario_final = salario_base + gratificacao - imposto;
    
    // e exibimos o resultado
    NumberFormat formato = NumberFormat.getCurrencyInstance();
    System.out.println("Gratificação: " + formato.format(gratificacao));
    System.out.println("Imposto: " + formato.format(imposto));
    System.out.println("Salário final: " + formato.format(salario_final));
  }
}



Java ::: Pacote java.lang ::: Integer

Java para iniciantes - Como usar o método parseInt() da classe Integer para converter uma String em um valor do tipo int

Quantidade de visualizações: 95310 vezes
Em algumas situações, principalmente quando estamos lidando com valores informados pelo usuário, nós precisamos converter uma String em um valor inteiro. Para isso podemos usar o método parseInt() da classe Integer. Veja sua assinatura:

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

public static int parseInt(String s)
  throws NumberFormatException

A String fornecida como argumento deve conter apenas digitos decimais, exceto que o primeiro caractere pode ser o caractere ASCII sinal de menos "-" ('\u002D') para indicar um valor negativo ou o caractere ASCII sinal de mais "+" ('\u002B') para indicar um valor positivo.

Veja um exemplo no qual usamos o método parseInt() para converter uma String informada pelo usuário em um valor do tipo int:

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

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // vamos usar um objeto da classe Scanner para ler a idade do usuário
    Scanner entrada = new Scanner(System.in);
    
    // solicita a idade
    System.out.print("Informe sua idade: ");
    int idade = Integer.parseInt(entrada.nextLine());
    
    // mostra o valor lido
    System.out.println("A idade informada foi: " + idade);    
  }
}

Ao executarmos este código teremos o seguinte resultado:

Informe sua idade: 28
A idade informada foi: 28

Há, porém, situações nas quais o usuário pode não seguir as recomendações de não inserir caracteres inválidos, o que inviabiliza a conversão para inteiro. Veja:

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

Informe sua idade: osmar
Exception in thread "main" java.lang.NumberFormatException: 
For input string: "osmar"
  at java.lang.NumberFormatException.forInputString(NumberFormatException.
java:48)
  at java.lang.Integer.parseInt(Integer.java:447)
  at java.lang.Integer.parseInt(Integer.java:497)
  at Estudos.main(Estudos.java:10)

Para contornar esta situação nós precisamos fornecer um bloco try...catch para tratar a exceção NumberFormatException. Veja:

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

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // vamos usar um objeto da classe Scanner para ler a idade do usuário
    Scanner entrada = new Scanner(System.in);
    
    // solicita a idade
    System.out.print("Informe sua idade: ");
    
    try{
      int idade = Integer.parseInt(entrada.nextLine());
    
      // mostra o valor lido
      System.out.println("A idade informada foi: " + idade);
    }
    catch(NumberFormatException nfe){
      System.out.println("Valor inválido: " + nfe.getMessage());	
    }    
  }
}

Agora o programa exibirá uma mensagem de erro caso o usuário forneça uma String que não pode ser convertida para inteiro.


Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

Quem Somos

Osmar J. Silva
Programador Freelancer
WhatsApp +55 (062) 98553-6711

Goiânia-GO
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
José de Angelis
Programador Freelancer
WhatsApp +55 (062) 98243-1195

Goiânia-GO
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..

Linguagens Mais Populares

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

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


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