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

Aprendendo a usar os quantificadores (quantifiers)

Quantidade de visualizações: 9793 vezes


Quantificadores permitem que especifiquemos o número de ocorrências de um determinado padrão. Veja a relação de padrões abaixo:
? - Apenas uma ou nenhuma vez
a? encontraria a, ou a ausência de a. Ele se aplica 
ou ao caractere que imediatamente o precede, ou a um
grupo (se o grupo imediatamente o precede) ou a uma
classe de caracteres (se a classe de caracteres o 
precede).

* - Zero ou mais vezes
Este padrão se parece muito com o padrão ?, exceto 
que ele encontra zero ou mais ocorrências. Ele não 
encontra "qualquer caractere", como seu uso em DOS 
poderia sugerir. Assim, a* encontraria a, aa, aaa, 
ou a ausência de a. Ele se aplica ou ao caractere que 
imediatamente o precede, ou a um grupo (se o grupo 
imediatamente o precede) ou a uma classe de caracteres 
(se a classe de caracteres o precede).

+ - Uma ou mais vezes
Este padrão se parece com o padrão *, exceto que agora
buscamos a existência de uma ou mais ocorrências, em 
vez de zero ou mais ocorrências. Ele se aplica ou 
ao caractere que imediatamente o precede, ou a um 
grupo (se o grupo imediatamente o precede) ou a uma 
classe de caracteres (se a classe de caracteres o 
precede).

{n} - Exatamente n vezes
Este quantificador exige a ocorrência do padrão 
exatamente n vezes. Ele se aplica ou ao caractere 
que imediatamente o precede, ou a um grupo (se o grupo
imediatamente o precede) ou a uma classe de caracteres 
(se a classe de caracteres o precede).

{n,} - No mínimo n vezes
Este quantificador exige a ocorrência do padrão 
no mínimo n vezes. Ele se aplica ou ao caractere 
que imediatamente o precede, ou a um grupo (se o grupo
imediatamente o precede) ou a uma classe de caracteres 
(se a classe de caracteres o precede).

{n,m} - No mínimo n e não mais que m vezes
Este quantificador exige a ocorrência do padrão 
no mínimo n vezes e não mais que m vezes. Ele se aplica 
ou ao caractere que imediatamente o precede, ou a um 
grupo (se o grupo imediatamente o precede) ou a uma 
classe de caracteres (se a classe de caracteres o 
precede).
Para ilustar o uso de quantificadores, vamos imaginar que a regra de nomes de senhas da empresa seja de 5 letras minúsculas de a-z (sem acentos) seguidas por 3 dígitos de 0-9. Veja como esta expressão regular pode ser montada:
import java.io.*;

public class Estudos{ 
  public static void main(String args[]){ 
    Console console = System.console(); 
    String valor = console.readLine("Informe um valor: "); 
    String padrao = "[a-z]{5}\\d{3}";
    
    if(valor.matches(padrao))
      System.out.println("Valor válido.");
    else
      System.out.println("Valor inválido.");
  } 
} 
Vamos ver uma expressão regular mais complexa? Suponhamos que a empresa queira um padrão de senhas que seja de 6 caracteres (três caracteres de a-z e três dígitos de 0-9) em qualquer ordem e talvez misturados. Veja o código:
import java.io.*;

public class Estudos{ 
  public static void main(String args[]){ 
    Console console = System.console(); 
    String valor = console.readLine("Informe um valor: "); 
    String padrao = "([a-z]*\\d[a-z]*){3}";
    
    if((valor.matches(padrao)) && (valor.length() == 6))
      System.out.println("Valor válido.");
    else
      System.out.println("Valor inválido.");
  } 
} 


Link para compartilhar na Internet ou com seus amigos:

Java ::: Estruturas de Dados ::: Árvore Binária e Árvore Binária de Busca

Estruturas de dados em Java - Como obter a quantidade de nós em uma árvore binária usando Java

Quantidade de visualizações: 2829 vezes
Em exemplos dessa seção nós vimos como criar árvores binárias e árvores binárias de busca em Java e como pesquisar ou fazer a sua travessia, visitando cada um dos nós. Nesta dica mostrarei como contar os nós da árvore usando um método recursivo. Veja:

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

// método que permite obter a quantidade de nós na árvore
int quantNosArvore(){
  // chama a versão recursiva
  return quantNosArvore(raiz);
}
  
int quantNosArvore(No no){
  if(no == null){ // condição de parada
    return 0;
  }
  else{
    return (quantNosArvore(no.getEsquerdo()) + 
      quantNosArvore(no.getDireito()) + 1);
  }
}

Este método faz parte da classe ArvoreBinariaBusca.java. Veja agora como chamá-lo a partir da classe principal, ou seja, a classe de teste:

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

package arvore_binaria;

import java.util.Scanner;

public class ArvoreBinariaTeste {
  public static void main(String[] args) {
    Scanner entrada = new Scanner(System.in);  
       
    // vamos criar um novo objeto da classe ArvoreBinariaBusca
    ArvoreBinariaBusca arvore = new ArvoreBinariaBusca();
    
    // vamos inserir 5 valores na árvore
    for(int i = 0; i < 5; i++){
      System.out.print("Informe um valor inteiro: ");
      int valor = Integer.parseInt(entrada.nextLine());
       
      // vamos inserir o nó e verificar o sucesso da operação
      if(!arvore.inserir(valor)){
        System.out.println("Não foi possível inserir." +
          " Um elemento já contém este valor.");  
      }
    }
     
    // vamos exibir a quantidade de nós na árvore
    System.out.println("\nA árvore possui: " + 
      arvore.quantNosArvore() + " nós.\n");
     
    System.out.println("\n");
  }
}

Ao executar este código teremos o seguinte resultado:

Informe um valor inteiro: 5
Informe um valor inteiro: 2
Informe um valor inteiro: 8
Informe um valor inteiro: 7
Informe um valor inteiro: 31

A árvore possui: 5 nós.



Java ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o arco cosseno de um número em Java usando o método acos() da classe Math

Quantidade de visualizações: 11744 vezes
O arco cosseno, ou arco coseno (também chamado de cosseno inverso) pode ser representado por cos-1 x, arccos x ou acos x. Esta função é a inversa do cosseno, ou seja, se o cosseno é a relação entre o cateto adjacente ao ângulo e a hipotenusa, o arco cosseno parte desta relação para encontrar o valor do ângulo.

Em Java, o arco cosseno de um número pode ser obtido por meio do método acos() da classe Math. Este método recebe um valor double e retorna também um double, na faixa 0 <= x <= PI, onde PI vale 3.1416.

Veja um código Java completo no qual informamos um número e em seguida calculamos o seu arco-cosseno:

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

package arquivodecodigos;

public class Estudos{
  public static void main(String args[]){
    double numero = 0.5;
    System.out.println("O arco cosseno de " +
      numero + " é " + Math.acos(numero));
  }
}

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

O arco cosseno de 0.5 é 1.0471975511965979

Não se esqueça de que as funções trigonométricas são usadas para modelar o movimento das ondas e fenômenos periódicos, como padrões sazonais. Elas formam a base para análises avançadas em engenharia elétrica, processamento digital de imagem, radiografia, termodinâmica, telecomunicações e muitos outros campos da ciência e da tecnologia.


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

Exercícios Resolvidos de Java - Um programa que lê um salário e concede um aumento de 20% para os salários inferiores a R$ 800,00

Quantidade de visualizações: 4668 vezes
Exercícios Resolvidos de Java - Um programa que lê um salário e concede um aumento de 20% para os salários inferiores a R$ 800,00

Pergunta/Tarefa:

A empresa XYZ decidiu conceder um aumento de 20% aos funcionários com salários inferiores a R$ 800,00. Faça um programa Java que solicita o salário do funcionário e mostre o valor do salário reajustado ou uma mensagem, caso o funcionário não tenha direito ao aumento.

Sua saída deverá ser parecida com:

Informe o salário: 520
O salário informado foi: 520.0
O salário reajustado é: 530.4 
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) {
    Scanner entrada = new Scanner(System.in);  
    
    // vamos solicitar o salário do funcionário
    System.out.print("Informe o salário: ");
    double salario = Double.parseDouble(entrada.nextLine());
    System.out.println("O salário informado foi: " + salario);
    
    // vamos conceder o aumento ao salário inferior a 800,00
    if(salario < 800.00){
      double novoSalario = salario + (salario * (2.0 / 100.00));
      System.out.println("O salário reajustado é: " + novoSalario);
    }
    else{
      System.out.println("Não tem direito ao reajuste.");
    }
    
    System.out.println("\n");
  }
}



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