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 - RevisadoQuantidade 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 CQuantidade 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 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.CountQuantidade 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 JComponentQuantidade 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 JavaQuantidade 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 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 iniciantesQuantidade 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# APIQuantidade 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 iniciantesQuantidade 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ódigoQuantidade 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; } |
Nossas 20 dicas & truques de programação mais populares |
CSS - CSS3 - O que são CSS media queries e como usá-las em suas páginas web para criar designs responsivos Java - Como quebrar (separar) uma string em palavras usando um objeto da classe StringTokenizer do Java |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |