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

Como usar o método replace() da classe String do Java para substituir palavras em uma frase ou texto - Revisado

Quantidade de visualizações: 391 vezes
Nesta dica mostrarei como substituir substrings em uma string, ou seja, substituir uma palavra (ou parte de uma palavra) em uma frase ou texto. Para isso podemos usar o método replace() da classe String da linguagem Java.

Note que o método replace() da classe String retorna uma nova string com todas as ocorrências substituídas. Veja o exemplo:

 
package arquivodecodigos;

public class Estudos{
  public static void main(String[] args){
    String frase = "Programar em Java é bom.";
    System.out.println(frase); 
    
    // substitui todas as ocorrências de "Java" por "C#"
    String frase2 = frase.replace("Java", "C#");
     
    System.out.println(frase2);
     
    System.exit(0);
  }
}

Ao executar este exemplo nós teremos o seguinte resultado:

Programar em Java é bom.
Programar em C# é bom.

Esta dica foi revisada e testada no Java 8.


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

Exercício Resolvido de C - Como ler um número inteiro e imprimir seu sucessor e seu antecessor em C

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

Escreva um programa C para ler um número inteiro e imprimir seu sucessor e seu antecessor. O usuário poderá informar um valor positivo ou negativo.

Sua saída deverá ser parecida com:

Informe um número inteiro: 16
O número informado foi: 16
O antecessor é 15
O sucessor é: 17
Resposta/Solução:

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

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

// função principal do programa
int main(int argc, char *argv[]){
  // variáveis usadas na resolução do problema
  int numero, sucessor, antecessor;
	
  setlocale(LC_ALL,""); // para acentos do português 
  
  // vamos pedir para o usuário informar um número inteiro
  printf("Informe um número inteiro: ");
  scanf("%d", &numero);
    
  // vamos calcular o sucessor do número informado
  sucessor = numero + 1;
    
  // vamos calcular o antecessor do número informado
  antecessor = numero - 1;
    
  // e agora mostramos os resultados
  printf("O número informado foi: %d\n", numero);
  printf("O antecessor é %d\n", antecessor);
  printf("O sucessor é: %d", sucessor);
  
  printf("\n\n");
  system("PAUSE");	
  return 0;
}



C# ::: Windows Forms ::: Formulários e Janelas

C# Windows Forms - Como obter a quantidade de controles em um formulário usando a propriedade Controls.Count

Quantidade de visualizações: 8283 vezes
Em algumas situações nós precisamos saber quantos controles existem atualmente em um formulário Windows Forms. Isso pode ser feito com uma chamada à propriedade Count da classe ControlCollection. Um objeto da classe ControlCollection é retornado quando acessamos a propriedade Controls de um formulário (e presente também em outros controles que podem conter controles filhos).

Veja um trecho de código no qual obtemos a quantidade de controles em um formulário ao clicarmos em um botão:

private void button1_Click(object sender, EventArgs e){
  // vamos obter a quantidade de controles no formulário
  int quantControles = this.Controls.Count;

  // vamos exibir o resultado
  MessageBox.Show("O formulário contém " + quantControles + 
    " controles.");
}

Note que a coleção ControlCollection retorna apenas os controles visuais no formulário, ou seja, componentes tais como Timer, DirectoryEntry, etc, não são incluídos.


Java ::: Classes e Componentes ::: JComponent

Java Avançado - Como verificar se uma classe herda de JComponent

Quantidade de visualizações: 8678 vezes
Nesta dica mostrarei como podemos tirar proveito dos métodos getClass(), getSuperclass() e getName() da classe Class para verificarmos se uma determinada classe herda da classe JComponent.

Embora este exemplo busque relacionar controles do Java Swing, a técnica usada pode ser aplicada em qualquer classe da linguagem Java.

Veja o código completo:

package arquivodecodigos;

import javax.swing.*;
 
public class Estudos{
  public static void main(String args[]){
    // verifica se JLabel herda de JComponent
    JLabel label = new JLabel("Teste");
    if(herdaJComponent(label)){
      System.out.println("JLabel herda de JComponent");
    }
    else{
      System.out.println(
        "JLabel não herda de JComponent");
    }
 
    // verifica se Timer herda de JComponent
    java.util.Timer timer = new java.util.Timer();
    if(herdaJComponent(timer)){
      System.out.println(
        "java.util.Timer herda de JComponent");
    }
    else{
      System.out.println(
        "java.util.Timer não herda de JComponent");
    }
 
    System.exit(0);
  }
 
  static boolean herdaJComponent(Object obj){
    Class cls = obj.getClass();
    Class superclass = cls.getSuperclass();
    while(superclass != null){
      String className = superclass.getName();
       
      if(className.equals("javax.swing.JComponent")){
        return true;
      }
 
      cls = superclass;
      superclass = cls.getSuperclass();
    }
 
    return false;
  }
}

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

JLabel herda de JComponent
java.util.Timer não herda de JComponent


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

Exercício Resolvido de Java - Como ler um número inteiro e imprimir seu sucessor e seu antecessor em Java

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

Escreva um programa Java para ler um número inteiro e imprimir seu sucessor e seu antecessor. O usuário poderá informar um valor positivo ou negativo.

Sua saída deverá ser parecida com:

Informe um número inteiro: 16
O número informado foi: 16
O antecessor é 15
O sucessor é: 17
Resposta/Solução:

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

package estudos;
 
import java.util.Scanner;

public class Estudos{
  public static void main(String[] args) {
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos pedir para o usuário informar um número inteiro
    System.out.print("Informe um número inteiro: ");
    int numero = Integer.parseInt(entrada.nextLine());
    
    // vamos calcular o sucessor do número informado
    int sucessor = numero + 1;
    
    // vamos calcular o antecessor do número informado
    int antecessor = numero - 1;
    
    // e agora mostramos os resultados
    System.out.println("O número informado foi: " + numero);
    System.out.println("O antecessor é " + antecessor);
    System.out.println("O sucessor é: " + sucessor);
  }
}



Java ::: Coleções (Collections) ::: ArrayList

Como pesquisar valores em uma ArrayList do Java usando a função indexOf() - Coleção Java para iniciantes

Quantidade de visualizações: 16851 vezes
Nesta dica eu mostrarei como podemos usar o método indexOf() para verificar a existência de um valor em uma ArrayList. Se o ítem for encontrado, seu índice (começando em 0) é retornado, do contrário o valor retornado é -1.

Veja o código Java completo para o exemplo:

package arquivodecodigos;

import java.util.ArrayList;
 
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");
    nomes.add("Maria");    
     
    // Verifica se o valor "Osmar" existe na
    // ArrayList
    int indice = nomes.indexOf("Osmar");
 
    if(indice == -1){
      System.out.println("O valor pesquisado não foi encontrado.");
    }
    else{
      System.out.println("O valor foi encontrado no índice: " + indice); 
    } 

    System.exit(0);
  }
}

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

O valor foi encontrado no índice: 3


Revit C# ::: Dicas & Truques ::: Pontos e Coordenadas

Como pedir para o usuário selecionar um ponto na área de desenho do Revit usando a função PickPoint() do objeto Selection da Revit C# API

Quantidade de visualizações: 370 vezes
Em várias situações nós precisamos que o usuário indique um ponto na área de desenho do Revit, ou seja, as coordenadas x, y e z na qual nosso código Revit C# efetuará alguma ação. Para isso nós podemos usar a função PickPoint() do objeto Selection, que retorna um objeto da classe XYZ.

O primeiro passo é acessar o documento ativo UIDocument, por meio de uma chamada a this.ActiveUIDocument. Em seguida nós definimos o tipo de snap usando a enumeração ObjectSnapTypes. Para este exemplo eu usei Endpoints e Intersections, mas você pode usar outros também, tais como Midpoints, Nearest, Intersections, etc.

Uma vez obtido o tipo de snap, nós o usamos para a chamada à função PickPoint(). Feito isso nós só precisamos acessar o objeto XYZ retornado e mostrar as suas coordenadas.

Veja o código Revit C# completo para o exemplo:

using System;
using Autodesk.Revit.UI;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI.Selection;
using System.Collections.Generic;
using System.Linq;

namespace Estudos {
  [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.
    TransactionMode.Manual)]
  [Autodesk.Revit.DB.Macros.AddInId("ED8EC6C4-9489-48F7-B04E-B45B5D1BEB12")]
  public partial class ThisApplication {
    private void Module_Startup(object sender, EventArgs e) {
      // vamos obter uma referência ao UIDocument ativo
      UIDocument uidoc = this.ActiveUIDocument;
      
      // agora mostramos uma mensagem para o usuário selecionar um
      // elemento
      TaskDialog.Show("Aviso", "Selecione um ponto na área de desenho");
      
      // vamos escolher o tipo de snap
      ObjectSnapTypes tiposSnap = ObjectSnapTypes.Endpoints |
        ObjectSnapTypes.Intersections;
      
      // agora o usuário seleciona um ponto e nós o guardamos na
      // variável ponto, do tipo XYZ
      XYZ ponto = uidoc.Selection.PickPoint(tiposSnap, 
        "Selecione um ponto de extremidade ou intersecção");

      // acessamos as coordenadas do ponto 
      string coordenadas = "X = " + ponto.X + "\nY = " + ponto.Y +
        "\nZ = " + ponto.Z;

      // e mostramos o resultado
      TaskDialog.Show("Revit", "As coordenadas do ponto são:\n" + 
        coordenadas);
    }

    private void Module_Shutdown(object sender, EventArgs e) {
      // para fazer alguma limpeza de memória ou algo assim
    }

    #region Revit Macros generated code
    private void InternalStartup() {
      this.Startup += new System.EventHandler(Module_Startup);
      this.Shutdown += new System.EventHandler(Module_Shutdown);
    }
    #endregion
  }
}

Ao executar este código Revit C# você terá uma mensagem TaskDialog com um resultado parecido com:

As coordenadas do ponto são:
X = 4.7533122
Y = 11.429872
Z = 23.3871198


JavaScript ::: Dicas & Truques ::: Data e Hora

Como usar o objeto Date em JavaScript - Curso de JavaScript para iniciantes

Quantidade de visualizações: 7425 vezes
O objeto Date é um tipo de dados embutido na linguagem JavaScript. Objetos Date são criados, em sua forma mais simples (construtor sem argumentos), da seguinte forma:

<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>

<script type="text/javascript">
  // vamos criar um novo objeto Date
  var hoje = new Date();

  // vamos exibir a representação deste objeto Date
  document.write("Data e hora atual: " + hoje);
</script>

</body>
</html>

Ao executarmos este código teremos um resultado parecido com:

Data e hora atual: Fri Mar 18 10:02:02 UTC-0300 2011

Note que a representação textual de um objeto Date é a data atual no formato curto (em inglês), as horas e a diferença em relação ao horário UTC (Universal Time Coordinated, sucessor do GMT - Greenwich Mean Time).

Uma vez criado um objeto Date, podemos usar vários de seus métodos para operar sobre seus valores de datas e horas. A maioria dos métodos serve simplesmente para obter ou definir os valores dos campos ano, mês, dia, horas, minutos, segundos e milisegundos, usando a hora local ou UTC. O método toString() e suas variantes nos permitem converter datas e horas para os formatos comumente exibidos aos usuários. Veja um exemplo:

<script type="text/javascript">
  // vamos criar um novo objeto Date
  var hoje = new Date();

  // vamos exibir a representação deste objeto Date
  document.write("Data e hora atual: " + hoje.toLocaleString());
</script>


Ao executarmos este código teremos um resultado parecido com:

Data e hora atual: sexta-feira, 18 de março de 2011 15:44:07

Aqui nós usamos o método toLocaleString() do objeto Date para exibir a data e hora de acordo com as configurações regionais do computador local. Os métodos getTime() e setTime() obtém ou definem a representação interna do objeto Date como o número de milisegundos decorridos desde a meia-noite do dia 1º de janeiro de 1970 (GMT). Neste formato padrão de milisegundos, a data e hora são representadas por um único inteiro, o que facilita os cálculos envolvendo datas e horas. O padrão ECMAScript exige que o objeto Date seja capaz de representar qualquer data e hora, na precisão de milisegundos, na faixa de 100 milhões de anos antes ou depois de 01/01/1970.


C# ::: Namespace System.Drawing ::: Image

Gráficos C# Windows Forms - Como usar a classe Image em suas aplicações C#

Quantidade de visualizações: 6474 vezes
A classe Image, do namespace System.Drawing (no assemply System.Drawing.dll) é uma classe abstrata de base que fornece funcionalidades para as classes derivadas Bitmap e Metafile (que são classes concretas e sealed, ou seja, não podem ter suas funcionalidades herdadas por outras classes).

Por ser uma classe abstrata, não podemos criar novas instâncias de Image (usando new()). Em vez disso nós a usamos apenas para chamar seus métodos estáticos ou como referência para as classes derivadas. Veja um trecho de código no qual carregamos um bitmap e o exibimos em um PictureBox:

private void button2_Click_1(object sender, EventArgs e){
  try{
    // vamos carregar o bitmap a partir de um diretório
    Image imagem = new Bitmap(@"C:\estudos_csharp_wf\logo.bmp", true);
    // vamos exibir a imagem no PictureBox
    pictureBox1.Image = imagem;
  }
  catch(ArgumentException ae){
    MessageBox.Show("Houve um erro ao carregar a imagem: " + 
      ae.Message.ToString());
  }
}

Veja que declaramos uma Image e a usamos como referência a um Bitmap. É claro que podemos perfeitamente trocar a linha:

Image imagem = new Bitmap(@"C:\estudos_csharp_wf\logo.bmp", true);

por:

Bitmap imagem = new Bitmap(@"C:\estudos_csharp_wf\logo.bmp", true);

O código compila normalmente, mas aí perdemos todo o poder que o polimorfismo nos entrega. Sempre que possível, devemos programar em cima das interfaces, superclasses e classes abstratas.

Além dos métodos estáticos, a classe Image fornece várias propriedades. Veja uma modificação do exemplo anterior no qual obtemos a largura e a altura da imagem que foi carregada:

private void button2_Click_1(object sender, EventArgs e){
  try{
    // vamos carregar o bitmap a partir de um diretório
    Image imagem = new Bitmap(@"C:\estudos_csharp_wf\logo.bmp", true);
    // vamos exibir a imagem no PictureBox
    pictureBox1.Image = imagem;

    // vamos exibir a largura e altura da imagem
    MessageBox.Show("A imagem carregada possui a largura de " + imagem.Width +
      " pixels e altura de " + imagem.Height + " pixels.");
  }
  catch(ArgumentException ae){
    MessageBox.Show("Houve um erro ao carregar a imagem: " + 
      ae.Message.ToString());
  }
}

Depois de carregada a imagem você verá uma mensagem parecida com:

A imagem carregada possui a largura de 80 pixels e altura de 50 pixels.


C# ::: Windows Forms ::: CheckBox

Como marcar ou desmarcar uma CheckBox do C# Windows Forms via código

Quantidade de visualizações: 14662 vezes
É possível marcar ou desmarcar uma CheckBox do C# Windows Forms via código. Para isso só precisamos manipular sua propriedade Checked. Se quisermos que a CheckBox seja marcada, basta fornecermos o valor true para esta propriedade. Veja:

private void button1_Click(object sender, EventArgs e){
  // vamos marcar a CheckBox
  checkBox1.Checked = true;
}

Se quisermos desmarcar, basta fornecermos o valor false. Veja:

private void button1_Click(object sender, EventArgs e){
  // vamos desmarcar a CheckBox
  checkBox1.Checked = false;
}


Carregar Publicações Anteriores


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

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