Dúvidas, comentários e doaçoes: +55 62 9 8513 2505

Java ::: Pacote java.lang ::: String

Como verificar se uma string Java contém uma determinada sequencia de caracteres (ou substring) usando o método contains()

Quantidade de visualizações: 12085 vezes
Em algumas situações precisamos verificar se uma sequencia de caracteres ou substring está contida em uma string. Para isso podemos usar o método contains() da classe String. Veja sua assinatura:

public boolean contains(CharSequence s)

Note que o método recebe um argumento do tipo CharSequence, que é uma interface implementada pelas classes CharBuffer, Segment, String, StringBuffer e StringBuilder. O método retorna true se a sequencia de caracteres for encontrada e false em caso contrário.

Veja um trecho de código no qual usamos este método para verificar se uma palavra está contida em uma frase:

public class Main {
  public static void main(String[] args) {
    // vamos declarar uma string
    String frase = "Gosto muito de Java e PHP";
    
    // vamos verificar se a string contém a palavra "Java"
    if(frase.contains("Java")){
      System.out.println("A frase contém a substring informada");
    }
    else{
      System.out.println("A frase não contém a substring informada");	
    }
  }
}

Este método pode atirar uma exceção do tipo NullPointerException se o argumento fornecido for null.


Java ::: Classes e Componentes ::: JTable

Java Swing - Como colorir as células de uma JTable individualmente ao passar o mouse sobre elas

Quantidade de visualizações: 4 vezes
Nesta dica eu mostro como é possível aplicar uma cor diferente às células individuais de uma JTable ao passar o mouse em cima delas. O efeito visual é muito interessante, principalmente quando temos uma JTable com muitos dados.

No exemplo eu construí a aplicação Java Swing na mão mesmo, sem usar nenhum editor visual. É um ótimo exercício para realmente entender as partes que compoem uma aplicação Java Swing.

Veja o código Java completo:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.table.*;
import javax.swing.event.*;
 
public class Estudos extends JFrame{
  int linha, coluna;
   
  public Estudos(){
    super("JTable");
         
    // colunas da tabela
    String[] colunas = {"Cidade", "Estado", "Habitantes"};
         
    // conteúdo da tabela   
    Object[][] conteudo = {
        {"Goiânia", "GO", "43.023.432"},
        {"São Paulo", "SP", "5.343.234"},
        {"Rio de Janeiro", "RJ", "6.434.212"},
        {"Jussara", "GO", "87.454"},
        {"Barra do Garças", "MT", "64.344"}
    };
         
    // constrói a tabela
    final JTable tabela = new JTable(conteudo, colunas);
    tabela.setPreferredScrollableViewportSize(new 
      Dimension(350, 50));
     
    class CellListener extends MouseMotionAdapter{
      public void mouseMoved(MouseEvent e){
    JTable tb = (JTable)e.getSource();
        linha = tb.rowAtPoint(e.getPoint());
        coluna = tb.columnAtPoint(e.getPoint());
        tb.repaint();
      }
    }
     
    class ColorirCelula extends JLabel 
         implements TableCellRenderer{
      public ColorirCelula(){
        setOpaque(true);
      }
 
      public Component getTableCellRendererComponent(
                 JTable table, Object value,
                 boolean isSelected, boolean hasFocus, 
                 int row, int column){
        if(row == linha && column == coluna){
          this.setBackground(Color.yellow);
        }
        else{
          this.setBackground(table.getBackground());
        }
         
        this.setText(value.toString());
        return this;
      }
    }
     
    Container c = getContentPane();
    c.setLayout(new FlowLayout());
     
    tabela.addMouseMotionListener(new CellListener());
     
    tabela.setDefaultRenderer(Object.class, 
       new ColorirCelula());
 
             
    JScrollPane scrollPane = new JScrollPane(tabela);
    c.add(scrollPane);
         
    setSize(400, 300);
    setVisible(true);
  }
     
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

Ao executarmos esta aplicação Java Swing nós teremos o seguinte resultado:




GoLang ::: Dicas & Truques ::: Strings e Caracteres

Como retornar o tamanho de uma string em Golang usando os métodos len() e RuneCountInString()

Quantidade de visualizações: 1261 vezes
Em algumas situações nós precisamos obter e retornar o tamanho de uma string, ou seja, a quantidade de caracteres em uma palavra, frase ou texto. Para isso nós podemos duas funções na linguagem Go: len() e RuneCountInString().

O método len() retorna a quantidade de bytes contidos em uma string. Note, porém, que esta função não é recomendada quando estamos lidando com caracteres do conjunto utf8, que requerem dois bytes. Dessa forma, se estivermos certos de que a string não possui acentos ou caracteres especiais, então o método len() é o mais adequado.

Veja um trecho de código Golang no qual pedimos para o usuário informar uma palavra ou frase e em seguida nós informamos a quantidade de caracteres contidos nela:

// pacote principal
package main

// vamos importar os módulos necessários
import (
  "bufio"
  "fmt"
  "os"
  "strings"
)
  
// esta é a função principal do programa
func main() {
  // variáveis que vamos usar na resolução do problema
  var frase string
  var tamanho int
  
  // vamos pedir para o usuário informar uma
  // palavra ou frase
  fmt.Print("Informe uma palavra ou frase: ")
  var entrada = bufio.NewReader(os.Stdin)
  frase, _ = entrada.ReadString('\n')  
  frase = strings.TrimSpace(frase)	
	
  // vamos obter o tamanho da string
  tamanho = len(frase)
  
  // e mostramos o resultado
  fmt.Printf("A palavra ou frase contém %d caracteres",
    tamanho)
}

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

Informe uma palavra ou frase: Gosto de Python
A palavra ou frase contém 15 caracteres

Se contarmos a quantidade de caracteres na string informada, realmente veremos que o código retornou o resultado esperado. O problema acontece quando informamos uma palavra ou frase com acentos ou caracteres especiais. Experimente e veja que a função len() começa a retornar uma contagem estranha.

Quando nossas strings possuem caracteres especiais ou com acentos, a função a ser usada é RuneCountInString(). Veja:

// pacote principal
package main

// vamos importar os módulos necessários
import (
  "bufio"
  "fmt"
  "os"
  "unicode/utf8"
  "strings"
)
  
// esta é a função principal do programa
func main() {
  // variáveis que vamos usar na resolução do problema
  var frase string
  var tamanho int
  
  // vamos pedir para o usuário informar uma
  // palavra ou frase
  fmt.Print("Informe uma palavra ou frase: ")
  var entrada = bufio.NewReader(os.Stdin)
  frase, _ = entrada.ReadString('\n')  
  frase = strings.TrimSpace(frase)	
	
  // vamos obter o tamanho da string
  tamanho = utf8.RuneCountInString(frase)
  
  // e mostramos o resultado
  fmt.Printf("A palavra ou frase contém %d caracteres",
    tamanho)
}

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

Informe uma palavra ou frase: Código
A palavra ou frase contém 6 caracteres


JavaScript ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como filtrar os elementos de um array em JavaScript usando a função filter() - Vetores e matrizes em JavaScript

Quantidade de visualizações: 2923 vezes
O método filter(), adicionado à linguagem JavaScript por meio do ECMAScript 5 (JavaScript 5, ECMAScript 2009, ES5) nos permite criar um novo vetor contendo apenas os elementos que passarem em um determinado teste, que pode ser uma função de usuário personalizada. Esta função é uma função de callback que será chamada uma vez para cada um dos elementos do vetor.

Para melhor entendimento, comece analisando o trecho de código abaixo:

<script type="text/javascript">
  function maiorQue10(valor){
    return valor > 10;
  }  

  // vamos criar um vetor de inteiros
  var valores = [2, 6, 32, 9, 3, 21];

  // vamos filtrar o vetor para obter apenas os
  // valores maiores que 10
  var maiores10 = valores.filter(maiorQue10);

  // vamos mostrar o resultado
  window.alert(maiores10);
</script>

Neste código usamos o método filter() para gerar um novo vetor contendo apenas os elementos com valores maiores que 10. Veja que fornecemos uma função como argumento para o método filter() e, dentro dessa função, nós retornamos true ou false para que a filtragem inclua ou não o valor sendo analisado no momento.

Uma função passada para o método filter() pode conter os seguintes argumentos (nessa mesma ordem):

a) O valor do item;
b) O índice do item (opcional);
c) O vetor a partir do qual o método filter() está sendo chamado (opcional).

Veja mais um trecho de código no qual retornamos os elementos de um array maiores que 10 e precedidos de um número par:

<script type="text/javascript">
  function maiorQue10PrecPar(valor, indice, vetor){
    // o primeiro elemento não é precedido por
    // outro. Vamos descartá-lo
    if(indice == 0){
      return false;
    }    

    // é precedido por um número par?
    if(vetor[indice - 1] % 2 == 0){
      // é maior que 10?      
      return valor > 10;
    }

    // nenhuma das condições acima?
    return false;
  }  

  // vamos criar um vetor de inteiros
  var valores = [2, 6, 32, 9, 3, 21];

  // vamos filtrar o vetor para obter apenas os
  // valores maiores que 10 e precedidos por um
  // número par
  var maiores10 = valores.filter(maiorQue10PrecPar);

  // vamos mostrar o resultado
  window.alert(maiores10);
</script>

Execute este código e verá que apenas o valor 32 será retornado, pois ele é o único maior que 10 e precedido por um número par.


Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

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


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 Apenas R$ 19,90


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