![]() |
|||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
|
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como inverter uma string em Java usando o método reverse() da classe StringBufferQuantidade de visualizações: 61 vezes |
Nesta dica mostrarei como podemos usar o método reverse() da classe StringBuffer ou StringBuilder para inverter a ordem dos caracteres de uma palavra, frase ou texto em Java. Note como convertemos uma String em um StringBuffer, fazemos a inversão da frase e depois convertemos novamente o StringBuffer em um objeto String. Veja o código completo para o exemplo: package estudos; public class Estudos { public static void main(String[] args){ // vamos criar uma string String frase = "JAVA É BOM DEMAIS"; // vamos mostrar a frase original System.out.println("String original: " + frase); // agora vamos criar um objeto StringBuffer StringBuffer temp = new StringBuffer(frase); // vamos inverter a string agora temp.reverse(); // e agora mostramos o resultado frase = temp.toString(); System.out.println("String invertida: " + frase); } } Ao executar este código Java nós teremos o seguinte resultado: String original: JAVA É BOM DEMAIS String invertida: SIAMED MOB É AVAJ |
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 JavaQuantidade de visualizações: 3007 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:// 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: 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 ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Tutorial Java para iniciantes - Como usar o laço for em JavaQuantidade de visualizações: 21415 vezes |
O laço for (loop for, ou laço para) é de longe uma das estruturas de controle mais usadas, não só em Java como em várias linguagens de programação). A razão de seu sucesso é a facilidade com que podemos efetuar iterações controladas por um contador ou uma variável similar, que é atualizada a cada iteração. Veja sua sintáxe:for(passo 1; passo 2; passo 3){ // bloco de instruções } passo 1: É aqui que definimos a variável de controle. Esta variável pode também ser declarada antes do laço, mas nunca em seu corpo. passo 2: Aqui testamos a condição de continuidade do laço. Se a condição retornar verdadeira, a execução do laço continua. Do contrário esta é interrompida. passo 2: Nesta parte nós incrementamos ou decrementamos a variável de controle. É importante perceber que podemos ter mais de uma instruções nos passos 1 e 3 de uma laço for, basta separá-las por vírgulas. Veja um exemplo no qual usamos um laço for para imprimir os números de 0 a 10: public class Estudos{ public static void main(String[] args){ for(int i = 0; i <= 10; i++){ System.out.println(i); } } } Veja agora como efetuar a operação inversa, ou seja, imprimir os números em ordem decrescente: public class Estudos{ public static void main(String[] args) { for(int i = 10; i >= 0; i--){ System.out.println(i); } } } Para finalizar veja como podemos imprimir os números pares de 0 a 10: public class Estudos{ public static void main(String[] args) { for(int i = 0; i <= 10; i += 2){ System.out.println(i); } } } |
Java ::: Estruturas de Dados ::: Árvore Binária e Árvore Binária de Busca |
Estruturas de dados em Java - Como obter o nó com maior valor em uma árvore binária de busca usando JavaQuantidade de visualizações: 2570 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 obter o nó com o maior valor em uma árvore binária. O truque aqui é descer o lado direito da árvore até o último nó. Veja:// método que permite retornar o maior nó de uma árvore // binária de busca public No retornarMaiorElemento(){ // chama a versão recursiva do método return retornarMaiorElemento(raiz); } public No retornarMaiorElemento(No no){ if((no == null) || (no.getDireito() == null)){ return no; // ponto de parada } else{ // vamos continuar descendo do lado direito return retornarMaiorElemento(no.getDireito()); } } 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: 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 obter o maior elemento na árvore binária de busca System.out.println("\nO maior nó é: " + arvore.retornarMaiorElemento().getValor()); System.out.println("\n"); } } Ao executar este código teremos o seguinte resultado: Informe um valor inteiro: 6 Informe um valor inteiro: 13 Informe um valor inteiro: 64 Informe um valor inteiro: 21 Informe um valor inteiro: 3 O maior nó é: 64 |
jQuery ::: Dicas & Truques ::: Manipulação e Conteúdo Dinâmico |
Como usar o método prependTo() do jQuery para adicionar todo o conteúdo de um elemento ao final de outro elemento HTMLQuantidade de visualizações: 7409 vezes |
O método prependTo() é usado quando queremos adicionar todo o conteúdo dos elementos retornados sob uma determinada condição no início de outro ou outros elementos HTML. Veja um trecho de código no qual adicionamos o conteúdo de um parágrafo no início de um elemento DIV: <script type="text/javascript"> <!-- function adicionarConteudo(){ var texto = "Mais uma linha.<br>"; $("#parag").prependTo("#div_1"); } //--> </script> O método prependTo() opera em todos os elementos HTML retornados sob uma determinação condição. O retorno do método é um objeto jQuery que pode ser usado para fins de encadeamento de chamadas de métodos. |
C ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de C - Desafio do número ausente. Dado um vetor de números naturais 1..n, encontre o valor ausenteQuantidade de visualizações: 680 vezes |
Pergunta/Tarefa: Dado o vetor: int valores[] = {1, 8, 7, 2, 6, 5, 3}; Encontre o elemento ausente na sequência de valores do vetor, sabendo que o primeiro valor é 1 e o último elemento é 8. Perceba que o vetor não precisa estar ordenado. Além disso, o entrevistador se certificará de que os valores serão sempre positivos e não haverá valores repetidos. Sua saída deverá ser parecida com: O número ausente é: 4 Dica: Use a fórmula n * (n + 1) / 2 para facilitar a resolução do exercício. 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[]){ // vamos declarar um vetor de inteiros faltando // um valor na sequência (não necessariamente ordenada) // Note a ausência do número 4 int valores[] = {1, 8, 7, 2, 6, 5, 3}; int i, soma_n, ausente, soma_elementos; int quant = 8; // tamanho do vetor + 1 setlocale(LC_ALL,""); // para acentos do português // o primeiro passo é obter a soma de 1..n elementos // natuais usando a fórmula n*(n+1)/2 soma_n = (quant * (quant + 1)) / 2; // agora vamos somar os elementos do vetor soma_elementos = 0; for(i = 0; i < 7; i++){ soma_elementos = soma_elementos + valores[i]; } // agora calculamos o valor ausente ausente = soma_n - soma_elementos; // vamos mostrar o resultado printf("O número ausente é: %d", ausente); printf("\n\n"); system("PAUSE"); return 0; } |
C++ ::: Fundamentos da Linguagem ::: Passos Iniciais |
Apostila C++ para iniciantes - Como usar a macro EXIT_SUCCESS em C++Quantidade de visualizações: 9626 vezes |
A macro EXIT_SUCCESS, disponível na biblioteca cstdlib da linguagem C++, pode ser usada como argumento para a função exit() para sinalizar que o programa finalizou sua execução sem erros. Os dois trechos de código abaixo são semelhantes: 1) Usando EXIT_SUCCESS para sinalizar que o programa foi finalizado com sucesso: #include <cstdlib> using namespace std; int main(int argc, char *argv[]) { // programa foi finalizado com sucesso return EXIT_SUCCESS; } 2) Usando o valor 0 para sinalizar que o programa foi finalizado com sucesso: #include <cstdlib> using namespace std; int main(int argc, char *argv[]) { // programa foi finalizado com sucesso return 0; } |
C# ::: Dicas & Truques ::: Sistema |
Como verificar o formato de um drive (NTFS, FAT32, etc) usando a propriedade DriveFormat da classe DriveInfo da linguagem C#Quantidade de visualizações: 7237 vezes |
A propriedade DriveFormat da classe DriveInfo pode ser usada para obter o formato de um drive, ou seja, ela nos permite saber se o formato de um drive é NTFS ou FAT32, por exemplo. Veja um trecho de código exemplificando seu uso: using System; using System.IO; namespace Estudos{ class Program{ static void Main(string[] args) { DriveInfo di = new DriveInfo("C"); // vamos obter o formato deste drive string formato = di.DriveFormat; // vamos exibir o resultado Console.WriteLine("O formato deste drive é: " + formato); } } } Ao executar este código nós teremos o seguinte resultado: O formato deste drive é: NTFS |
QGIS ::: PyQGIS API ::: Projeto QGIS - Classe QgsProject |
Como retornar o título do projeto do QGIS usando PyQGIS e a função title() da classe QgsProjectQuantidade de visualizações: 331 vezes |
Em algumas situações nós precisamos obter o título do projeto atual do QGIS. Para isso nós podemos usar a função title() da classe QgsProject da PyQGIS API. Note que o título do projeto do QGIS é definido indo no menu Projeto -> Propriedades. Na janela Propriedades nós acessamos a guia Geral e definimos no campo Título do Projeto o valor que desejamos. Veja o código PyQGIS completo que acessa e exibe o título do projeto em uma mensagem QMessageBox.information: # vamos obter o título do projeto do QGIS titulo = QgsProject.instance().title() # e mostramos o resultado QMessageBox.information(None, "Aviso", "O título do projeto é: " + titulo) Ao executar este código PyQGIS nós teremos um resultado parecido com: O título do projeto é: Estudo hidrológico cliente AFG Rio Verde-GO |
C++ ::: STL (Standard Template Library) ::: Vector C++ |
Como criar um vector de strings em C++, inserir alguns nomes usando a função push_back() e percorrê-los usando um iteradorQuantidade de visualizações: 11163 vezes |
Se você tem pouca experiência com a classe container vector da STL (Standard Template Library), este exemplo o ajudará um pouco. Aqui eu mostro como criar um vector de strings em C++, inserir alguns nomes nele usando a função push_back() e depois percorrê-los individualmente usando um iterador. Veja o código C++ completo para o exemplo: #include <iostream> #include <vector> using namespace std; int main(int argc, char *argv[]){ // um vector vazio que conterá strings vector<string> nomes; // vamos inserir três nomes nomes.push_back("Osmar J. Silva"); nomes.push_back("Carlos de Souza"); nomes.push_back("Maria Dias de Carvalho"); // vamos percorrer o vector e exibir os nomes vector<string>::iterator it; for(it = nomes.begin(); it < nomes.end(); it++){ cout << *it << endl; } cout << "\n" << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: Osmar J. Silva Carlos de Souza Maria Dias de Carvalho |
Nossas 20 dicas & truques de programação mais populares |
JavaScript - Como construir uma determinada data e hora usando o construtor do objeto Date do JavaScript VB.NET - Como comparar strings em VB.NET usando o método Compare() da classe String do .NET Framework |
Você também poderá gostar das dicas e truques de programação abaixo |
C - Como escrever uma função concat() que reproduz a funcionalidade da função strcat() da linguagem C AutoLISP - Como retornar o nome da layer atual do AutoCAD usando AutoLISP e a variável de sistema CLAYER C# - Como ordenar alfabeticamente os itens de uma ListBox do C# Windows Forms usando a propriedade Sorted |
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 |