Você está aqui: Cards de Cards de Hidrologia |
||
|
||
![]() |
||
Java ::: Dicas & Truques ::: Threads |
Threads em Java - O que são threads e como usá-las em seus programas JavaQuantidade de visualizações: 13558 vezes |
Uma thread é um fluxo de execução de uma determinada tarefa em um programa. Na programação tradicional, temos apenas um fluxo de execução que começa a executar no início do programa e vai até o final. Com o uso de threads podemos ter várias tarefas sendo executadas ao mesmo tempo, cada uma independente da outra. Em programas que contêm interfaces gráficas, o uso de múltiplos fluxos de execução (ou threads) é muito comum. Enquanto digitamos em uma caixa de texto, uma animação pode estar sendo executada ou um arquivo sendo baixado. O Java permite que tenhamos várias threads sendo executadas ao mesmo tempo. Cada tarefa (ou thread) é uma instância da interface Runnable. Esta interface descreve apenas um método: public void run(); // criamos uma classe que servirá como thread class MinhaThread extends Thread{ private String nome; public MinhaThread(String nome){ this.nome = nome; } public void run(){ for(int i = 1; i <= 20; i++){ System.out.println(nome + ": " + i); } } } public class Estudos{ public static void main(String[] args){ // vamos criar duas threads MinhaThread t1 = new MinhaThread("Thread 1"); t1.start(); // chamamos o método start() e não run() MinhaThread t2 = new MinhaThread("Thread 2"); t2.start(); // chamamos o método start() e não run() System.exit(0); } } Salve este código como Estudos.java, compile e execute. Veja que cada thread escreverá de 1 a 20 na tela. Observe como as duas threads se alternam em suas tarefas, ou seja, de tempos em tempos uma cede lugar para que a outra seja executada. Note também que, embora nossa classe tenha um método run() nós não o chamamos. O que fazemos é chamar o método start(), que torna a thread elegível para ser executada a qualquer momento. Uma outra forma de criarmos uma thread é fazer com que nossa classe implemente a interface Runnable. Veja: // criamos uma classe que servirá como thread class MinhaThread implements Runnable{ private String nome; public MinhaThread(String nome){ this.nome = nome; } public void run(){ for(int i = 1; i <= 20; i++){ System.out.println(nome + ": " + i); } } } public class Estudos{ public static void main(String[] args){ // vamos criar duas threads MinhaThread mt1 = new MinhaThread("Thread 1"); Thread t1 = new Thread(mt1); t1.start(); MinhaThread mt2 = new MinhaThread("Thread 2"); Thread t2 = new Thread(mt2); t2.start(); System.exit(0); } } O funcionamento do código é o mesmo. A diferença é que agora, a classe usada como thread implementa a interface Runnable. A forma de criação da thread também foi alterada. Agora nós criamos instâncias de Thread fornecendo nossa classe thread como argumento e chamamos o método start da classe Thread e não de nossa própria classe, como fizemos anteriormente. |
Java ::: Dicas & Truques ::: Sistema |
Java Avançado - Como obter a largura e altura da tela do seu computador em pixels usando o método getScreenSize() da classe Toolkit do JavaQuantidade de visualizações: 15357 vezes |
A classe Toolkit da linguagem Java nos fornece o método getScreenSize(), que retorna um objeto da classe Dimension contendo a largura e a altura da tela do nosso computador, em pixels. Veja o código Java completo para o exemplo: package arquivodecodigos; import java.awt.*; public class Estudos{ public static void main(String[] args){ // obtém o tamanho da tela Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); System.out.println("O tamanho da tela é: " + dim.width + " pixels de largura por " + dim.height + " pixels de altura."); } } Ao executar este código nós teremos o seguinte resultado: O tamanho da tela é: 1366 pixels de largura por 768 pixels de altura. |
C# ::: Dicas & Truques ::: Data e Hora |
Como calcular a quantidade de dias decorridos em C# usando um objeto TimeSpanQuantidade de visualizações: 8445 vezes |
Em algumas ocasiões precisamos saber a quantidade de dias decorridos deste uma determinada data usando a linguagem C#. O trecho de código abaixo mostra como isso pode ser feito. Veja que usamos o construtor da estrutura DateTime para construir a data no passado e então a subtraímos da data atual. Em seguida obtemos a quantidade de dias do TimeSpan resultante:using System; namespace Estudos { class Program { static void Main(string[] args) { // vamos obter a quantidade de dias decorridos entre // 10/06/2009 e a data atual DateTime data_anterior = new DateTime(2009, 6, 10); // 10/06/2009 DateTime hoje = DateTime.Now; // obtém a quantidade de dias decorridos TimeSpan dif = hoje.Subtract(data_anterior); int decorridos = dif.Days; // exibe o resultado System.Console.WriteLine("Dias decorridos desde 10/06/2009: " + decorridos); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: Dias decorridos desde 10/06/2009: 4662 |
Dart ::: Dicas & Truques ::: Aplicativos e Outros |
Como calcular a distância entre dois pontos na terra em DartQuantidade de visualizações: 1552 vezes |
Nesta dica mostrarei como calcular a distância em quilômetros entre dois pontos na terra dadas suas latitudes e longitudes. Neste exemplo eu coloquei o valor de 6378.137 para o raio da terra, mas você pode definir para o valor que achar mais adequado. O cálculo usado neste código se baseia na Fórmula de Haversine, que determina a distância do grande círculo entre dois pontos em uma esfera, dadas suas longitudes e latitudes. Veja o código Dart completo: // Vamos importar a biblioteca dart:io import "dart:io"; // vamos importar a biblioteca dart:math import "dart:math"; void main(){ // vamos ler as latitudes e longitudes das duas // localizações stdout.write("Informe a primeira latitude: "); double lat1 = double.parse(stdin.readLineSync()); stdout.write("Informe a primeira longitude: "); double lon1 = double.parse(stdin.readLineSync()); stdout.write("Informe a segunda latitude: "); double lat2 = double.parse(stdin.readLineSync()); stdout.write("Informe a segunda longitude: "); double lon2 = double.parse(stdin.readLineSync()); // vamos calcular a distância entre os dois pontos em Kms double distancia = calcularDistancia(lat1, lat2, lon1, lon2); // mostramos o resultado print("Distância entre os dois pontos: ${distancia} kms"); } // função que recebe dois pontos na terra e retorna a distância // entre eles em quilômetros double calcularDistancia(double lat1, double lat2, double lon1, double lon2){ double raio_terra = 6378.137; // raio da terra em quilômetros // o primeiro passo é converter as latitudes e longitudes // para radianos lon1 = grausParaRadianos(lon1); lon2 = grausParaRadianos(lon2); lat1 = grausParaRadianos(lat1); lat2 = grausParaRadianos(lat2); // agora aplicamos a Fórmula de Haversine double dlon = lon2 - lon1; double dlat = lat2 - lat1; double a = pow(sin(dlat / 2), 2) + cos(lat1) * cos(lat2) * pow(sin(dlon / 2),2); double c = 2 * asin(sqrt(a)); // e retornamos a distância return(c * raio_terra); } // função que permite converter graus em radianos double grausParaRadianos(double graus){ return graus * (pi / 180); } Ao executar este código Dart nós teremos o seguinte resultado: Informe a primeira latitude: -16.674551 Informe a primeira longitude: -49.303598 Informe a segunda latitude: -15.579321 Informe a segunda longitude: -56.10009 A distância entre os dois pontos é: 736.9183827638687kms Neste exemplo eu calculei a distância entre as cidades de Goiânia-GO e Cuibá-MT. A latitude é a distância ao Equador medida ao longo do meridiano de Greenwich. Esta distância mede-se em graus, podendo variar entre 0o e 90o para Norte(N) ou para Sul(S). A longitude é a distância ao meridiano de Greenwich medida ao longo do Equador. |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como testar se uma string Java é um valor numérico válido usando o método isDigit() da classe CharacterQuantidade de visualizações: 166 vezes |
O método isDigit() da classe Character nos permite verificar se um determinado caractere é um número, ou seja, está na faixa de 0 a 9. Podemos tirar proveito disso para varrer todos os caracteres de uma string, usando o método charAt() da classe String, e testar se essa string é um valor numérico válido. Veja o código completo para o exemplo: package arquivodecodigos; // Este exemplo mostra como verificar se uma // string é um valor númerico public class Estudos { public static void main(String[] args) { String valor = "2334554"; boolean valido = true; for (int i = 0; i < valor.length(); i++) { Character caractere = valor.charAt(i); if (!Character.isDigit(caractere)) { valido = false; break; } } if (valido) { System.out.println("Valor numérico valido"); } else { System.out.println("NãO é um valor numerico valido"); } System.exit(0); } } Ao executar este código Java nós teremos o seguinte resultado: Valor numérico válido. |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
PHP - Manipulação de texto em PHP - Como acessar e modificar os caracteres individuais de uma string |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |