Você está aqui: Java ::: Dicas & Truques ::: Expressões Regulares

Como remover espaços em excesso de uma string usando expressões regulares em Java

Quantidade de visualizações: 12546 vezes
Nesta dica mostrarei como é possível usar expressões regulares em Java para remover espaços em excesso de uma string, tanto no início, meio e fim. Note que vamos deixar apenas um espaço entre as palavras da frase.

Veja o código completo para o exemplo:

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

import java.util.regex.*;
 
public class Estudos{ 
  public static void main(String args[]){ 
    String padrao = "\\s{2,}";
    Pattern regPat = Pattern.compile(padrao);
    String frase = "   Esta    frase   contém  espaços   "; 
    Matcher matcher = regPat.matcher(frase);
    String res = matcher.replaceAll(" ").trim();
    System.out.println("Com espaços: " + frase);
    System.out.println("Sem espçaos: " + res);
  } 
} 

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

Com espaços:    Esta    frase   contém    espaços   
Sem espaços: Esta frase contém espaços


Link para compartilhar na Internet ou com seus amigos:

Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle

Exercício Resolvido de Java - Escreva um programa Java que informa a quantidade de dias em um determinado mês e ano. Seu código deverá solicitar ao usuário o número correspondente

Quantidade de visualizações: 919 vezes
Exercícios Resolvidos de Java - Escreva um programa Java que informa o número de dias em um determinado mês e ano. Seu código deverá solicitar ao usuário o número correspondente

Pergunta/Tarefa:

Escreva um programa Java que informa a quantidade de dias em um determinado mês e ano. Seu código deverá solicitar ao usuário o número correspondente ao mês, na faixa de 1 a 12, e o ano. Verifique também se o ano é bissexto ou não.

Sua saída deverá ser parecida com:

Informe o mês (1 - 12): 4
Informe o ano: 2022
Abril de 2022 possui 30 dias.
Resposta/Solução:

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

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

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // vamos usar a classe Scanner para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);  
    
    // para guardar a quantidade de dias no mês
    int quantDiasNoMes = 0; 
    // para o nome do mês
    String nomeMes = "";
 
    // vamos ler o número do mês
    System.out.print("Informe o mês (1 - 12): ");
    int mes = Integer.parseInt(entrada.nextLine());
 
    // vamos ler o ano
    System.out.print("Informe o ano: ");
    int ano = Integer.parseInt(entrada.nextLine());
 
    // agora usamos um switch para tratar o mês informado
    switch (mes){
      case 1:
        nomeMes = "Janeiro";
        quantDiasNoMes = 31;
        break;
      
      case 2:
        nomeMes = "Fevereiro";
        // é ano bissexto?
        if ((ano % 400 == 0) || ((ano % 4 == 0) && (ano % 100 != 0))) {
          quantDiasNoMes = 29;
        }
        else {
          quantDiasNoMes = 28;
        }
        break;
        
      case 3:
        nomeMes = "Março";
        quantDiasNoMes = 31;
        break;
       
      case 4:
        nomeMes = "Abril";
        quantDiasNoMes = 30;
        break;
        
      case 5:
        nomeMes = "Maio";
        quantDiasNoMes = 31;
        break;
        
      case 6:
        nomeMes = "Junho";
        quantDiasNoMes = 30;
        break;
        
      case 7:
        nomeMes = "Julho";
        quantDiasNoMes = 31;
        break;
        
      case 8:
        nomeMes = "Agosto";
        quantDiasNoMes = 31;
        break;
        
      case 9:
        nomeMes = "Setembro";
        quantDiasNoMes = 30;
        break;
      
      case 10:
        nomeMes = "Outubro";
        quantDiasNoMes = 31;
        break;
        
      case 11:
        nomeMes = "Novembro";
        quantDiasNoMes = 30;
        break;
        
      case 12:
        nomeMes = "Desembro";
        quantDiasNoMes = 31;
        break;
    }
    
    // mostra o resultado
    System.out.println(nomeMes + " de " + ano + " possui " + quantDiasNoMes + " dias.");
    
    System.out.println("\n");
  }
}



Java ::: Dicas & Truques ::: Programação Orientada a Objetos

Como usar o modificador abstract em suas classes e métodos Java - Programação Orientada a Objetos em Java - Java POO

Quantidade de visualizações: 18140 vezes
O modificador abstract pode ser aplicado a classes e métodos. Seu uso com variáveis pode causar o erro abaixo:

abstract String nome;

Estudos.java:2: modifier abstract not 
allowed here
  abstract String nome;
                  ^
1 error


Classes abstratas não podem ser instanciadas, ou seja, não podemos chamar seu construtor. Veja um exemplo:

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

public class Estudos{
  public static void main(String args[]){
    Cliente cliente = new Cliente(); 
   
    System.exit(0);
  }
}

abstract class Cliente{
  public Cliente(){
   
  }
}

Ao tentarmos compilar esta classe teremos o seguinte erro:

Estudos.java:3: Cliente is abstract; cannot be 
instantiated
 Cliente cliente = new Cliente();
                    ^
1 error


A função principal de classes abstratas é forçar a implementação para as sub-classes. Desta forma, seus métodos são declarados com o modificador abstract e sem corpo. Veja:

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

abstract class Cliente{
  abstract void obterNome();
}

Sempre que suas classes contiverem um ou mais métodos abstratos, você deverá declará-la abstrata. Não seguir esta regra provocará o seguinte erro:

class Cliente{
  abstract void obterNome();
}

Estudos.java:9: Cliente is not abstract and does 
not override abstract method obterNome() in Cliente
class Cliente{
^
1 error


As situações que fazem com que uma classe deva ser declarada abstract são:


  • A classe tem um ou mais métodos abstratos;
  • A classe herda um ou mais métodos abstratos de uma classe abstrata e não fornece implementação para eles;
  • A classe declara que ela implementa um interface mas não fornece implementação para todos os métodos desta interface;


Para finalizar, abstract é o oposto de final. Uma classe final não pode ter sub-classes. Uma classe abstract precisa ter sub-classes.


Java ::: Classes e Componentes ::: JComboBox

Como retornar o valor do item selecionado em um JComboBox do Java Swing usando a função getSelectedItem()

Quantidade de visualizações: 15546 vezes
Nesta dica mostrarei como podemos usar o método getSelectedItem() da classe JComboBox do Java Swing para obter e retornar o valor do item selecionado. Note que usei uma conversão forçada (casting) para String antes de exibir o valor do item selecionado.

Para finalizar, coloquei uma mensagem JOptionPane.showMessageDialog para exibir o valor do item selecionado no JComboBox. Veja o código completo para o exemplo:

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

package estudos;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Estudos extends JFrame{
  JComboBox combo;  

  public Estudos() {
    super("A classe JComboBox");
    
    Container c = getContentPane();
    c.setLayout(new FlowLayout(FlowLayout.LEFT));
    
    // Cria os itens da lista
    String nomes[] = {"Carlos", "Marcelo", "Fabiana",
      "Carolina", "Osmar"};

    // Cria o JComboBox
    combo = new JComboBox(nomes);

    // Um botão que permite obter o valor do item selecionado
    JButton btn = new JButton("Obter valor selecionado");
    btn.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          String valor = (String)(combo.getSelectedItem());

          JOptionPane.showMessageDialog(null, 
            "O valor selecionado é: " + valor);
        }
      }
    );

    // Adiciona o JComboBox à janela
    c.add(combo);

    // Adiciona o botão à janela
    c.add(btn);  

    setSize(350, 250);
    setVisible(true);
  }
  
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

Ao executar este código Java nós teremos uma mensagem JOptionPane.showMessageDialog com o seguinte texto:

O valor selecionado é: Osmar


Desafios, 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: Delphi
6º lugar: C
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á 63 usuários muito felizes estudando em nosso site.