Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercício Resolvido de Java - Usando um laço for para contar de 0 até 10 e somar todos os valoresQuantidade de visualizações: 14852 vezes |
Pergunta/Tarefa: Escreva um programa Java que usa o laço for para contar de 0 até 10 e somar todos estes valores, ou seja, 0 + 1 + 2 + 3 + etc. Como resultado seu programa deverá exibir o valor 55. Resposta/Solução: A primeira providência para a realização deste exercício é declarar uma variável soma do tipo int e atribuir a ela o valor inicial 0: // variável int que gardará a soma dos valores int soma = 0; Em seguida faremos um laço for repetir de 0 até 10 e, a cada repetição, nós obtemos o valor da variável de controle e a somamos ao valor atual da variável soma. Veja: public static void main(String[] args){ // laço for que conta de 0 até 10 e soma todos os valores // variável int que gardará a soma dos valores int soma = 0; for(int i = 0; i <= 10; i++){ // vamos somar mais este valor soma = soma + i; // poderia também ser // soma += i; } // vamos exibir a soma dos valores System.out.println("A soma dos valores de 0 a 10 é: " + soma); } |
Java ::: Estruturas de Dados ::: Lista Ligada Simples |
Estruturas de dados em Java - Como criar uma lista singularmente ligada, inserindo e exibindo os valores contidos em cada nóQuantidade de visualizações: 12136 vezes |
Em dicas posteriores você aprendeu sobre listas singularmente e duplamente ligadas. Nesta dica você aprenderá a criar uma lista singularmente ligada (com referências apenas para o próximo nó), inserir alguns nós (sempre no final da lista) e usará um laço while para visitar todos os nós e exibir seus valores. A classe usada para representar cada nó é a seguinte (No.java): // classe No public class No{ public int valor; public No proximo; } // fim da classe No Note que cada nó contém apenas um valor inteiro e uma referência para o próximo nó. Ao analisar o código você perceberá que tanto a inserção quanto a exibição dos nós são feitas usando métodos. Isso permitirá o reaproveitamento deste código em suas próprias implementações. Veja o código para a lista ligada (Lista.java): public class Lista{ No inicio; // início da lista // função que permite exibir os valores de // todos os nós da lista public void exibir(){ if(inicio != null){ do{ System.out.println(inicio.valor); inicio = inicio.proximo; }while(inicio != null); } else System.out.println("A lista esta vazia\n\n"); } // função que permite inserir nós na lista. // veja que a função recebe o valor a ser // armazenado em cada nó public void inserir(int v){ No temp; // verifica se a lista está vazia if(inicio == null){ // reserva memória para o novo nó inicio = new No(); inicio.valor = v; // é o primeiro nó...não deve apontar para // lugar nenhum inicio.proximo = null; } else{ // não está vazia....vamos inserir o nó no final temp = inicio; // vamos varrer a lista até encontrar o último nó while(temp.proximo != null) temp = temp.proximo; // estamos no último nó...vamos criar um novo nó agora temp.proximo = new No(); // atribui o valor do nó temp.proximo.valor = v; // define o campo proximo do nó como null temp.proximo.proximo = null; } } } Compile as classes No.java e Lista.java e vamos fazer o teste (TesteJava.java): public class TesteLista{ public static void main(String args[]){ // vamos criar uma nova lista Lista lista = new Lista(); // vamos inserir quatro valores na lista lista.inserir(45); lista.inserir(3); lista.inserir(98); lista.inserir(17); // exibe os valores na lista lista.exibir(); System.exit(0); } } |
JavaScript ::: Dicas & Truques ::: Data e Hora |
Como construir uma determinada data e hora usando o construtor do objeto Date do JavaScriptQuantidade de visualizações: 7005 vezes |
Em algumas situações precisamos construir um objeto Date representando uma determinada data e hora. Para isso podemos usar o construtor deste objeto. Veja a sintáxe:new Date(year, month[, date[, h[, m[, s[, ms]]]]]); Veja que temos que fornecer os argumemtos na ordem ano, mês, dia, horas, minutos, segundos e milisegundos. Apenas os argumentos para os parâmetros ano e mês são obrigatórios. Veja, por exemplo, como podemos construir a data 01/08/2010: <html> <head> <title>Estudos JavaScript</title> </head> <body> <script type="text/javascript"> // vamos construir a data 01/08/2010 var data = new Date(2010, 7); // vamos exibir o resultado document.write("A data é: " + data); </script> </body> </html> Este trecho de código exibirá o seguinte resultado: A data é: Sun Aug 1 00:00:00 UTC-0300 2010. É importante ficar atento à faixa de valores permitida para cada um dos parâmetros: year - Exigido. Aqui devemos fornecer o ano completo, por exemplo, 1997 (e não 97). month - Exigido. Devemos fornecer o mês como um inteiro na faixa de 0 a 11 (janeiro é 0 enquanto dezembro é 11). date - Opcional. Aqui devemos fornecer o dia como um inteiro na faixa de 1 a 31. hours - Opcional. Devemos fornecer as horas como um inteiro na faixa de 0 a 23. minutes - Opcional. Devemos fornecer os minutos como um inteiro na faixa de 0 a 59. seconds - Opcional. Devemos fornecer os segundos como um inteiro na faixa de 0 a 59. ms - Opcional. Um inteiro na faixa de 0 a 999. Veja agora um trecho de código no qual construímos a data 14/05/2010 às 17:50: <script type="text/javascript"> // vamos construir a data 14/05/2010 às 17:50 var data = new Date(2010, 4, 14, 17, 50); // vamos exibir o resultado document.write("A data é: " + data); </script> Este código exibirá o seguinte resultado: A data é: Fri May 14 17:50:00 UTC-0300 2010. Esta dica foi escrita e testada no Internet Explorer 8 e Firefox 3.6. |
Java ::: Classes e Componentes ::: JComponent |
Java Avançado - Como verificar se uma classe herda de JComponentQuantidade de visualizações: 8688 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 |
Delphi ::: VCL - Visual Component Library ::: TListBox |
Como usar a propriedade Items da classe TListBox do DelphiQuantidade de visualizações: 11440 vezes |
A propriedade Items da classe TListBox representa um objeto da classe TStrings, a classe base para objetos que representam uma lista de strings. Isso quer dizer que podemos acessar a propriedade Items e usar todos os métodos e propriedades da classe TStrings, tais como Add(), Clear(), Delete(), Exchange(), etc. Veja, por exemplo, como usar o método Add() para adicionar um novo item na ListBox: procedure TForm1.Button1Click(Sender: TObject); begin // vamos adicionar um novo item na ListBox listBox1.Items.Add('Arquivo de Códigos'); end; É possível obter um referência à propriedade Items para manipular os itens da ListBox indiretamente. Veja: procedure TForm1.Button1Click(Sender: TObject); var lista: TStrings; begin // vamos obter a lista de itens da ListBox lista := listBox1.Items; // vamos adicionar um novo item à lista lista.Add('Arquivo de Códigos'); end; Esta técnica é útil quando queremos inserir itens em uma TListBox a partir de uma função ou procedure. Veja: // procedure personalizada para inserir itens em uma TListBox procedure inserirItensListBox(lista: TStrings); begin lista.Add('Arquivo de Códigos'); lista.Add('Osmar J. Silva'); end; procedure TForm1.Button1Click(Sender: TObject); begin // vamos chamar a procedure que adiciona os itens na ListBox inserirItensListBox(listBox1.Items); end; Para finalizar, veja como escrever uma função personalizada que constrói e retorna uma lista de strings. Note como usamos o objeto TStrings retornado para preencher a ListBox: // função personalizada que constrói e retorna uma lista // de strings function obterLista: TStrings; var lista: TStringList; begin lista := TStringList.Create; lista.Add('Arquivo de Códigos'); lista.Add('Osmar J. Silva'); Result := lista; end; procedure TForm1.Button1Click(Sender: TObject); begin // vamos obter a lista de strings ListBox1.Items := obterLista; end; Observe que, embora o retorno seja TStrings, no corpo da função nós construímos um objeto da classe TStringList. Isso acontece porque TStrings é uma classe abstrata e, portanto, não podemos chamar seu construtor. Como TStringList herda de TStrings e é uma classe concreta, esta é a escolha mais óbvia. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
C++ ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular MDC em C++ - C++ para matemáticaQuantidade de visualizações: 37314 vezes |
Como calcular MDC em C++ Atualmente a definição de Máximo Divisor Comum (MDC) pode ser assim formalizada: Sejam a, b e c números inteiros não nulos, dizemos que c é um divisor comum de a e b se c divide a (escrevemos c|a) e c divide b (c|b). Chamaremos D(a,b) o conjunto de todos os divisores comum de a e b. O trecho de código abaixo mostra como calcular o MDC de dois números informados: #include <iostream> using namespace std; int MDC(int a, int b){ int resto; while(b != 0){ resto = a % b; a = b; b = resto; } return a; } int main(int argc, char *argv[]){ int x, y; cout << "Este programa permite calcular o MDC\n"; cout << "Informe o primeiro valor: "; cin >> x; cout << "Informe o segundo valor: "; cin >> y; cout << "\nO Máximo Divisor Comum de " << x << " e " << y << " é " << MDC(x, y) << endl; system("PAUSE"); return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: Este programa permite calcular o MDC Informe o primeiro número: 12 Informe o segundo número: 9 O Máximo Divisor Comum de 12 e 9 é 3 |
Java ::: Dicas & Truques ::: Arquivos e Diretórios |
Como verificar se um arquivo ou diretório existe em Java usando o método exists() da classe FileQuantidade de visualizações: 130 vezes |
Em algumas situações nós precisamos checar a existência de um arquivo ou diretório em Java. Para isso nós podemos usar o método exists() da classe File, do pacote java.io. Este método recebe uma string contendo o caminho do arquivo ou diretório e retorna true se o arquivo ou diretório indicado existir, e false em caso contrário. Veja um exemplo: package arquivodecodigos; import java.io.*; public class Estudos{ public static void main(String[] args){ // vamos verificar a existência de um arquivo File arquivo = new File("C:\\estudos_java\\lago.jpg"); if(arquivo.exists()){ System.out.println("O arquivo existe"); } else{ System.out.println("O arquivo não existe"); } } } O arquivo existe no caminho indicado. É importante observar que o método exists() pode disparar uma exceção do tipo Security Exception se o arquivo ou diretório não possuir permissão de acesso ou escrita. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercício Resolvido de Java - Faça um algoritmo que leia a idade de uma pessoa expressa em anos, meses e dias e mostre-a expressa em diasQuantidade de visualizações: 6638 vezes |
Pergunta/Tarefa: Faça um algoritmo que leia a idade de uma pessoa expressa em anos, meses e dias e mostre-a expressa em dias. Leve em consideração o ano com 365 dias e o mês com 30. (Ex: 3 anos, 2 meses e 15 dias = 1170 dias.) Resposta/Solução: Para a entrada do usuário, nós vamos usar um objeto da classe Scanner. Veja a resolução comentada: package arquivodecodigos; import java.util.Scanner; public class Estudos{ public static void main(String args[]){ // vamos usar um objeto Scanner para ler a entrada // do usuário Scanner entrada = new Scanner(System.in); // vamos ler a quantidade de anos System.out.print("Quantidade de anos: "); int anos = Integer.parseInt(entrada.nextLine()); // vamos ler a quantidade de meses System.out.print("Quantidade de meses: "); int meses = Integer.parseInt(entrada.nextLine()); // vamos ler a quantidade de dias System.out.print("Quantidade de dias: "); int dias = Integer.parseInt(entrada.nextLine()); // vamos calcular a quantidade de dias int quant_dias = (anos * 365) + (meses * 30) + dias; // e mostramos o resultado System.out.println("Idade em dias: " + quant_dias); } } Ao executar este código Java nós teremos o seguinte resultado: Quantidade de anos: 3 Quantidade de meses: 2 Quantidade de dias: 15 Idade em dias: 1170 |
jQuery ::: Dicas & Truques ::: Atributos ou Propriedades HTML |
jQuery para iniciantes - Como usar o método addClass() do jQuery para adicionar nomes de classes CSS aos elementos HTMLQuantidade de visualizações: 12861 vezes |
Por padrão, um elemento HTML pode pertencer a uma determinada classe usando o seguinte modelo:<p id="parag" class="destaque">Sou um parágrafo</p> Porém, há situações em que gostaríamos que um elemento pertencesse a mais de uma classe ao mesmo tempo. Com o jQuery isso é facilmente conseguido. Basta usarmos o método addClass(). Este método nos permite adicionar uma ou mais classes a um determinado elemento ou um grupo de elementos HTML. Tenha em mente que este método não substitui a classe atual do elemento. Em vez disso, o elemento passa a pertencer a mais de uma classe. Veja um trecho de código em que adicionamos mais um nome de classe ao parágrafo acima: <script type="text/javascript"> <!-- function adicionarClasse(){ $('#parag').addClass("destaque2"); } //--> </script> Agora o parágrafo com o id "parag" pertence às classes destaque e destaque2. Isso permite uma combinação bem interessante de estilos CSS. Se precisar adicionar mais de um nome de classe ao mesmo tempo, basta separá-las com um espaço. Veja: <script type="text/javascript"> <!-- function adicionarClasse(){ $('#parag').addClass("destaque2 destaque3"); } //--> </script> O retorno deste método é um objeto jQuery que poderá ser usado para fins de encadeamento de chamadas de métodos. |
Python ::: Dicas & Truques ::: Data e Hora |
Como obter o nome do mês da data atual no formato curto usando os métodos today() e strftime() da classe datetime do PythonQuantidade de visualizações: 10536 vezes |
Nesta dica mostrarei como podemos combinar os métodos today() e strftime() da classe datetime do Python para retornar o nome do mês da data atual no formato curto, ou seja, se o mês for setembro, o valor retornado será "set". Veja o código completo para o exemplo: from datetime import datetime import locale def main(): # Configurações do usuário locale.setlocale(locale.LC_ALL, '') # Obtém um datatime da data e hora atual hoje = datetime.today() # Exibe o nome do mês no formato curto print(hoje.strftime("O mês é: %b")) if __name__== "__main__": main() Ao executarmos este código nós teremos o seguinte resultado: O mês é: mar |
Nossas 20 dicas & truques de programação mais populares |
Você também poderá gostar das dicas e truques de programação abaixo |
Java Servlets - Como compartilhar dados entre um Java Servlet e uma página JSP usando a requisição HttpServletRequest Java - Como retornar a quantidade de mapeamentos (chave-valor) em um HashMap do Java usando o método size() JavaScript - Como usar objetos Set em seus códigos JavaScript |
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 |