Você está aqui: Java ::: Pacote java.util.stream ::: Strings e Caracteres |
Como remover todas as strings vazias de uma ArrayList do Java usando StreamsQuantidade de visualizações: 530 vezes |
Nesta dica mostrarei como podemos usar as streams do Java para excluir todas as strings vazias de uma ArrayList e retornar uma nova lista filtrada. Para isso usaremos os métodos stream() e filter() da classe Stream e o método toList() da classe Collectors. Note o uso do método isEmpty() da classe String para testar se a string está vazia. Veja o código Java 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 ---------------------------------------------------------------------- package estudos; import java.util.ArrayList; import java.util.stream.Collectors; public class Estudos{ public static void main(String args[]){ // vamos criar uma String contendo strings (três vazias) ArrayList<String> linguagens = new ArrayList<>(); linguagens.add("Java"); linguagens.add(""); linguagens.add("Python"); linguagens.add(""); linguagens.add(""); linguagens.add("Delphi"); // mostra o conteúdo do ArrayList original System.out.println("ArrayList original: " + linguagens); // agora vamos construir outro ArrayList com as strings vazias removidas ArrayList<String> filtradas = (ArrayList)linguagens.stream() .filter(x -> !x.isEmpty()) .collect(Collectors.toList()); // vamos mostrar as linguagens filtradas System.out.println("Sem strings vazia: " + filtradas); } } Ao executar este código Java nós teremos o seguinte resultado: ArrayList original: [Java, , Python, , , Delphi] Sem strings vazia: [Java, Python, Delphi] |
![]() |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Java Básico - Lendo a nota de um aluno e classificando-a com as letras A, B, C, D ou EQuantidade de visualizações: 4018 vezes |
Exercício Resolvido de Java - Java Básico - Lendo a nota de um aluno e classificando-a com as letras A, B, C, D ou E Pergunta/Tarefa: Escreva um programa Java que lê a nota de um aluno e a classifica de acordo com as seguintes regras: 1) Maior ou igual a 9,00 - A 2) Maior ou igual a 8,0 e menor que 9,0 - B 3) Maior ou igual a 7,0 e menor que 8,0 - C 4) Maior ou igual a 6,0 e menor que 7,0 - D 5) Menor que 6,0 - E Sua saída deverá ser parecida com: ![]() Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- 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) { Scanner entrada = new Scanner(System.in); // vamos solicitar que o usuário informe a nota do aluno System.out.print("Informe a nota do aluno: "); double nota = Double.parseDouble(entrada.nextLine()); char letra = 'A'; // vai guardar a letra de classificação // a nota está dentro da faixa esperada? if((nota < 0) || (nota > 10)){ System.out.println("A nota esta fora da faixa esperada."); } else{ if(nota < 6.0){ letra = 'E'; } else if((nota >= 6.0) && (nota < 7.0)){ letra = 'D'; } else if((nota >= 7.0) && (nota < 8.0)){ letra = 'C'; } else if((nota >= 8.0) && (nota < 9.0)){ letra = 'B'; } else{ letra = 'A'; } } // vamos mostrar a classificação System.out.println("A classificação desta nota é: " + letra); System.out.println("\n"); } } |
Java ::: Dicas & Truques ::: Imagens e Processamento de Imagens |
Manipulação de imagens em Java - Como carregar imagens JPG (JPEG), GIF ou PNG usando o método getImage() da classe ToolkitQuantidade de visualizações: 23742 vezes |
O método getImage() da classe Toolkit retorna um objeto da classe Image que obtém informações de imagem (pixels) a partir do caminho informado. Veja que este método não verifica se a imagem informada para o método existe ou se foi carregada com sucesso. Veja mais dicas nesta seção para aprender a realizar tais tarefas. O código abaixo mostra como chamar o método getImage() para carregar uma imagem ao clicar em um botão: ---------------------------------------------------------------------- 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.awt.*; import java.awt.event.*; import javax.swing.*; public class Estudos extends JFrame{ private Image imagem = null; public Estudos() { super("Estudos Java"); Container c = getContentPane(); c.setLayout(new FlowLayout()); JButton btn = new JButton("Carregar Imagem"); btn.addActionListener( new ActionListener(){ @Override public void actionPerformed(ActionEvent e){ // imagem a ser carregada String minhaImagem = "C:\\estudos_java\\lago.jpg"; // Obtém o Toolkit padrão Toolkit toolkit = Toolkit.getDefaultToolkit(); imagem = toolkit.getImage(minhaImagem); JOptionPane.showMessageDialog(null, "A imagem foi carregada. Agora é só manipulá-la."); } } ); c.add(btn); setSize(400, 300); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } Ao executar este código nós teremos o seguinte resultado: A imagem foi carregada. Agora é só manipulá-la. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções |
Exercícios Resolvidos de Java - Métodos - Um método estático que recebe um vetor de inteiros e o exibeQuantidade de visualizações: 2411 vezes |
Exercício Resolvido de Java - Métodos - Um método estático que recebe um vetor de inteiros e o exibe Pergunta/Tarefa: Escreva um método Java que recebe um vetor de inteiros e o exibe. Este método deverá ter a seguinte assinatura: public static void exibirVetor(int[] vetor){ // sua implementação aqui } Sua saída deverá ser parecida com: ![]() Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- 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) { Scanner entrada = new Scanner(System.in); // vamos declarar e construir um vetor de 5 inteiros int valores[] = new int[5]; // agora 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 " + (i + 1) + " elemento: "); valores[i] = Integer.parseInt(entrada.nextLine()); } // e agora vamos passar o vetor para o método exibirVetor() System.out.println("\nOs elementos do vetor são:\n"); exibirVetor(valores); System.out.println("\n"); } // um método estático que recebe um vetor de inteiros e o exibe public static void exibirVetor(int[] vetor){ // vamos percorrer os elementos do vetor e exibir cada um for(int i = 0; i < vetor.length; i++){ System.out.print(vetor[i] + " "); } } } |
Java ::: Projetos Java Completos - Códigos Fonte Completos Java ::: Jogos (Games) |
Como criar o jogo Pedra, Papel, Tesoura em Java - Jogo completo em Java com código comentadoQuantidade de visualizações: 6341 vezes |
Faça o download do código-fonte Pedra, Papel, Tesoura em Java Nesta dica mostrarei como criar o famoso joguinho Pedra, Papel, Tesoura na linguagem Java. Trata-se de um código bem simples e que vou comentar linha a linha, para que você extraia todo o conteúdo necessário para deixar a sua lógica de programação ainda mais afiada. Nesta versão eu mostrarei como jogar Pedra, Papel, Tesoura contra o computador. Depois de entender todo o código você não terá dificuldade para implementar uma versão que lhe permitirá jogar contra seus amigos. Antes de vermos o código, eis uma imagem do jogo em execução: ![]() Quais técnicas de programação vou aprender com o código desse jogo? O joguinho Pedra, Papel, Tesoura é ótimo para estudantes de programação que está iniciando em Java e que gostariam de aprimorar sua lógica de programação, afinal, se você desenvolver uma boa lógica de programação, você conseguirá desenvolver soluções em qualquer linguagem. Além de entender como funciona o desenvolvimento de jogos em Java, você reforçará o seu conhecimento de laços, estrutura condicional if...else, entrada e saída e fluxo e desvio do algorítmo. Veja, por exemplo, um trecho de código no qual testamos se o jogador escolheu Pedra, Papel ou Tesoura, e também a escolha feita pelo computador: // o jogador escolheu Pedra? else if(jogador == 1){ // o computador escolheu Papel? if(computador == 2){ System.out.println("Você perdeu. Papel embrulha Pedra"); vitoriasComputador++; // aumenta as vitórias do computador } else{ // o computador escolheu Tesoura System.out.println("Você ganhou. Pedra amassa Tesoura"); vitoriasJogador++; // aumenta as vitórias do jogador } } // o jogador escolheu Papel? else if(jogador == 2){ // o computador escolheu Tesoura? if(computador == 3){ System.out.println("Você perdeu. Tesoura corta Papel"); vitoriasComputador++; // aumenta as vitórias do computador } else{ // o ocmputador escolheu Pedra System.out.println("Você ganhou. Papel embrulha Pedra"); vitoriasJogador++; // aumenta as vitórias do jogador } } Os links para você baixar todas as versões deste projeto estão abaixo: 1) PEDPAPTESJC - Jogo Pedra, Papel, Tesoura em Java Console - NetBeans IDE - Faça o download do código-fonte Pedra, Papel, Tesoura em Java. Não se esqueça: Uma boa forma de estudar o código é fazendo pequenas alterações e rodando para ver os resultados. Outra opção é começar um projeto Java do zero e ir adicionando trechos do código fonte para melhor entendimento de suas partes. |
Java ::: Dicas & Truques ::: Data e Hora |
Java para iniciantes - Como usar a classe Date em suas aplicações JavaQuantidade de visualizações: 14077 vezes |
A classe Date pertence ao pacote java.util, e, embora muitos de seus métodos estejam em desuso (Deprecated), ainda encontraremos muito código Java que usa esta classe para trabalhar com datas e horas. Veja sua posição na hierarquia de classes 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 ---------------------------------------------------------------------- java.lang.Object java.util.Date Esta classe implementa as interfaces Serializable, Cloneable e Comparable<Date> e suas subclasses conhecidas são Date, Time, Timestamp (todas do pacote java.sql). As informações abaixo podem ser encontradas na documentação da classe Date. A classe Date representa um momento específico no tempo, com uma precisão de milisegundos. Antes do JDK 1.1, esta classe tinha duas funções adicionais. Ela permitia a interpretação de datas como valores de ano, mês, dia, hora, minuto e segundo. Também permitia a formatação e parsing de strings de datas. Infelizmente, a API para estas funções não facilitava a internacionalização. Assim, a partir do JDK 1.1, a classe Calendar deve ser usada para converter entre campos de datas e horas e a classe DateFormat deve ser usada para formatar e fazer o parsing de strings de datas. Os métodos correspondentes a estas funções estão em desuso (Deprecated) na classe Date. Embora a classe Date tenha sido projetada para refletir a hora universal coordenada (Coordinated Universal Time - UTC), ela pode não ser capaz de fazer isso corretamente, dependendo do sistema no qual a Java Virtual Machine esteja sendo executada. A grande maioria dos sistemas operacionais modernos assume que 1 dia = 24 × 60 × 60 = 86400 segundos em todos os casos. No UTC, contudo, de dois em dois anos, aproximadamente, há um segundo extra, chamado de "leap second" (a mesma idéia do ano bissexto). O leap second é sempre adicionado como o último segundo do dia e sempre nos dias 31 de dezembro ou 30 de junho. Por exemplo, o último minuto do ano de 1995 teve 61 segundos, graças ao segundo extra que foi adicionado. A maioria dos relógios dos computadores não são precisos o suficiente para refletir a distinção do leap second. Alguns padrões de computadores são definidos em termos da hora de Greenwich (Greenwich mean time - GMT), que é o equivalente ao Universal Time (UT). GMT é o nome "civil" para o padrão, UT é o nome "científico" para o mesmo padrão. A distinção entre UTC e UT é que UTC é baseado em um relógio atômico e UT é baseado em observações astronômicas, o que para todos os propósitos práticos não traz diferença significativa. Devido à rotação da terra não ser uniforme (ela desacelera ou acelera de formas complicadas), O UT nem sempre flui uniformente. Segundos extras (Leap seconds) são inseridos conforme necessário no UTC de forma a mantê-lo dentro dos 0.9 segundos do UT1, que é uma versão do UT com algumas correções aplicadas. Há outros sistemas de datas e horas também; por exemplo, a escala de tempo pelo sistema de posicionamento global baseado em satélite (satellite-based global positioning system - GPS) é sincronizado com o UTC mas não é ajustado para os segundos extras. Em todos os métodos da classe Date que aceitam ou retornam valores de ano, mês, dia, hora, minuto e segundos, as seguintes representações são usadas:
|
Java ::: Coleções (Collections) ::: ArrayList |
Java para iniciantes - Como embaralhar os elementos de uma ArrayList usando o método shuffle() da classe CollectionsQuantidade de visualizações: 13448 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 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.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 |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercício Resolvido de Java - Um programa Java que lê dois números e mostra a soma, subtração, multiplicação e a divisão dos números lidosQuantidade de visualizações: 1595 vezes |
Pergunta/Tarefa: Faça um programa em Java que receba dois números e no final mostre a soma, subtração, multiplicação e a divisão dos números lidos. Os números deverão ser informados pelo usuário. Sua saída deverá ser parecida com: Informe o primeiro número: 9 Informe o segundo numero: 4 A soma é: 13 A subtração é: 5 A multiplicação é: 36 A divisão é: 2.25 Veja a resolução completa para o exercício em Java, comentada linha a linha: ---------------------------------------------------------------------- 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 efetuar a leitura Scanner entrada = new Scanner(System.in); // vamos ler o primeiro número System.out.print("Informe o primeiro número: "); int n1 = Integer.parseInt(entrada.nextLine()); // vamos ler o segundo número System.out.print("Informe o segundo numero: "); int n2 = Integer.parseInt(entrada.nextLine()); // primeiro vamos somar os dois números int soma = n1 + n2; System.out.println("A soma é: " + soma); // agora vamos subtrair int subtracao = n1 - n2; System.out.println("A subtração é: " + subtracao); // agora a multiplicação int multiplicacao = n1 * n2; System.out.println("A multiplicação é: " + multiplicacao); // e finalmente a divisão. Note o truque para não arredondar // a divisão double divisao = (n1 * 1.0) / n2; System.out.println("A divisão é: " + divisao); } } |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Java para iniciantes - Como substituir caracteres em uma string usando o método replace() da classe StringQuantidade de visualizações: 212 vezes |
Em algumas ocasiões nós precisamos substituir caracteres, ou seja, letras, números e símbolos em palavras, frases ou textos. Para isso nós podemos usar o método replace() da classe String da linguagem Java. Veja como isso pode ser feito no código completo 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 arquivodecodigos; public class Estudos{ public static void main(String[] args){ String frase = "Programar em Java é bom"; System.out.println("Original: " + frase); // substitui todas as ocorrências de "a" por "e" String frase2 = frase.replace('a', 'e'); System.out.println("Com substituições: " + frase2); System.exit(0); } } Ao executar este código nós teremos o seguinte resultado: Original: Programar em Java é bom Com substituições: Progremer em Jeve é bom |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |