Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
|
Um programa Java que recebe o ano de nascimento de uma pessoa e o ano atual e mostra a idade da pessoa em anos, meses, dias e semanas - Lista de Exercícios Resolvidos de JavaQuantidade de visualizações: 6418 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que recebe o ano de nascimento de uma pessoa e o ano atual, calcule e mostre: a) A idade da pessoa em anos; b) A idade da pessoa em meses; c) A idade da pessoa em dias; d) A idade da pessoa em semanas. Sua saída deverá ser parecida com: Informe o ano de seu nascimento: 1985 Informe o ano atual: 2023 A idade em anos é: 38 A idade em meses é: 456 A idade em dias é: 13680 A idade em semanas é: 1976 Veja a resolução comentada deste exercício usando Java:
|
|
Link para compartilhar na Internet ou com seus amigos: | |
Java ::: Dicas & Truques ::: Fuso Horários |
Como retornar uma lista de todos os IDs de fusos horários suportados pela linguagem Java usando o método getAvailableIDs() da classe TimeZoneQuantidade de visualizações: 8880 vezes |
A linguagem Java, por meio da classe TimeZone, nos permite trabalhar com uma enorme variedade de fusos horários. No entanto, antes de assumir que um determinado fuso horário é suportado, é interessante verificar se tal fuso horário está na lista de IDs suportados. Isso pode ser feito com uma chamada ao método estático getAvailableIDs(). Este método retorna o ID de todos os fusos horários suportados. Veja um exemplo de como usá-lo:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- import java.util.*; public class Estudos{ public static void main(String args[]){ // obtém todos os IDs de fusos horários // disponíveis na classe TimeZone String fusos[] = TimeZone.getAvailableIDs(); for(int i = 0; i < fusos.length; i++){ System.out.println(fusos[i]); } } } Ao executar este código você terá um resultado semelhante à (optamos por listar apenas os 100 primeiros resultados): Etc/GMT+12 Etc/GMT+11 MIT Pacific/Apia Pacific/Midway Pacific/Niue Pacific/Pago_Pago Pacific/Samoa US/Samoa America/Adak America/Atka Etc/GMT+10 HST Pacific/Fakaofo Pacific/Honolulu Pacific/Johnston Pacific/Rarotonga Pacific/Tahiti SystemV/HST10 US/Aleutian US/Hawaii Pacific/Marquesas AST America/Anchorage America/Juneau America/Nome America/Yakutat Etc/GMT+9 Pacific/Gambier SystemV/YST9 SystemV/YST9YDT US/Alaska America/Dawson America/Ensenada America/Los_Angeles America/Tijuana America/Vancouver America/Whitehorse Canada/Pacific Canada/Yukon Etc/GMT+8 Mexico/BajaNorte PST PST8PDT Pacific/Pitcairn SystemV/PST8 SystemV/PST8PDT US/Pacific US/Pacific-New America/Boise America/Cambridge_Bay America/Chihuahua America/Dawson_Creek America/Denver America/Edmonton America/Hermosillo America/Inuvik America/Mazatlan America/Phoenix America/Shiprock America/Yellowknife Canada/Mountain Etc/GMT+7 MST MST7MDT Mexico/BajaSur Navajo PNT SystemV/MST7 SystemV/MST7MDT US/Arizona US/Mountain America/Belize America/Cancun America/Chicago America/Costa_Rica America/El_Salvador America/Guatemala America/Indiana/Knox America/Indiana/Petersburg America/Indiana/Vincennes America/Knox_IN America/Managua America/Menominee America/Merida America/Mexico_City America/Monterrey America/North_Dakota/Center America/North_Dakota/New_Salem America/Rainy_River America/Rankin_Inlet America/Regina America/Swift_Current America/Tegucigalpa America/Winnipeg CST CST6CDT Canada/Central Canada/East-Saskatchewan Canada/Saskatchewan Chile/EasterIsland Um bom uso deste método é quando estamos desenvolvendo uma aplicação que mostra o horário ao redor do mundo. Podemos ter uma lista de fusos horários e, mediante a seleção do usuário, fornecer o valor selecionado para o método setTimeZone() da classe Calendar, por exemplo. |
Java ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular a área de um Triângulo Equilátero em Java - Java para Geometria, Trigonometria e Álgebra LinearQuantidade de visualizações: 1644 vezes |
Um Triângulo Equilátero é o triângulo que possui os três lados iguais, e cujos ângulos internos são todos 60 graus (somando 180). Veja na figura abaixo as características de um Triângulo Equilátero: Nesta dica de Java eu mostrarei como calcular a área do triângulo equilátero. Para isso, vamos revisar a fórmula para o cálculo da área do triângulo equilátero: \[\text{Área K} = \dfrac{1}{4} \times \sqrt{3} \times L^2 \] E veja o código Java para o cálculo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { // para efetuar a leitura do usuário Scanner entrada = new Scanner(System.in); // vamos pedir para o usuário informar o valor do lado do triângulo System.out.print("Informe o lado do triângulo: "); double lado = Double.parseDouble(entrada.nextLine()); // agora vamos calcular a área do triângulo equilátero double area = (1.0 / 4.0) * Math.sqrt(3) * Math.pow(lado, 2); // e finalmente mostramos o resultado System.out.println("A área do triângulo equilátero é: " + area); } } Ao executarmos este código nós teremos o seguinte resultado: Informe o lado do triângulo: 5 A área do triângulo equilátero é: 10.825317547305483 |
Java ::: Dicas & Truques ::: Ordenação e Pesquisa (Busca) |
Java Insertion Sort - Como ordenar um vetor de inteiros usando a ordenação Insertion Sort (Ordenação por Inserção)Quantidade de visualizações: 4516 vezes |
A ordenação Insertion Sort, Insertion-Sort, ou Ordenação por Inserção, possui uma complexidade de tempo de execução igual à ordenação Bubble Sort (Ordenação da Bolha), ou seja, O(n2). Embora mais rápido que o Bubble Sort, e ser um algorítmo de ordenação quadrática, a ordenação Insertion Sort é bastante eficiente para problemas com pequenas entradas, sendo o mais eficiente entre os algoritmos desta ordem de classificação, porém, nunca recomendada para um grande conjunto de dados. A forma mais comum para o entendimento da ordenação Insertion Sort é compará-la com a forma pela qual algumas pessoas organizam um baralho num jogo de cartas. Imagine que você está jogando cartas. Você está com as cartas na mão e elas estão ordenadas. Você recebe uma nova carta e deve colocá-la na posição correta da sua mão de cartas, de forma que as cartas obedeçam à ordenação. A cada nova carta adicionada à sua mão de cartas, a nova carta pode ser menor que algumas das cartas que você já tem na mão ou maior, e assim, você começa a comparar a nova carta com todas as cartas na sua mão até encontrar sua posição correta. Você insere a nova carta na posição correta, e, novamente, a sua mão é composta de cartas totalmente ordenadas. Então, você recebe outra carta e repete o mesmo procedimento. Então outra carta, e outra, e assim por diante, até não receber mais cartas. Esta é a ideia por trás da ordenação por inserção. Percorra as posições do vetor (array), começando com o índice 1 (um). Cada nova posição é como a nova carta que você recebeu, e você precisa inseri-la no lugar correto no sub-vetor ordenado à esquerda daquela posição. Vamos ver a implementação na linguagem Java agora? Observe o seguinte código, no qual temos um vetor de inteiros com os elementos {4, 6, 2, 8, 1, 9, 3, 0, 11}: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; public class Estudos{ // método que permite ordenar o vetor de inteiros // usando a ordenação Insertion Sort public static void insertionSort(int[] vetor){ // percorre todos os elementos do vetor começando // pelo segundo elemento for(int i = 1; i < vetor.length; i++){ int atual = vetor[i]; // o valor atual a ser inserido // começa a comparar com a célula à esquerda de i int j = i - 1; // enquanto vetor[j] estiver fora de ordem em relação // a atual while((j >= 0) && (vetor[j] > atual)){ // movemos vetor[j] para a direita e decrementamos j vetor[j + 1] = vetor[j]; j--; } // colocamos atual em seu devido lugar vetor[j + 1] = atual; } } public static void main(String args[]){ // vamos criar um vetor com 9 elementos int valores[] = {4, 6, 2, 8, 1, 9, 3, 0, 11}; // exibimos o vetor na ordem original System.out.println("Ordem original:\n"); for(int i = 0; i < valores.length; i++){ System.out.print(valores[i] + " "); } // vamos ordenar o vetor agora insertionSort(valores); // exibimos o vetor ordenado System.out.println("\n\nOrdenado:\n"); for(int i = 0; i < valores.length; i++){ System.out.print(valores[i] + " "); } } } Ao executar este código Java nós teremos o seguinte resultado: Sem ordenação: 4 6 2 8 1 9 3 0 11 Ordenada usando Insertion Sort: 0 1 2 3 4 6 8 9 11 |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Android Java - Como usar a classe Toast em suas aplicações Android |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |