Você está aqui: Java ::: Dicas & Truques ::: Data e Hora |
Como usar a classe Calendar do Java em suas aplicações - Java para iniciantesQuantidade de visualizações: 21316 vezes |
[Baseado na documentação Java] - A classe Calendar (pacote java.util) é uma classe abstrata (que não pode ser instanciada usando new) que fornece métodos para efetuar a conversão entre um momento específico no tempo e um conjunto de campos de calendário, tais como YEAR, MONTH, DAY_OF_MONTH, HOUR e assim por diante, e para manipular tais campos, por exemplo, obter a data da próxima semana. Um momento no tempo pode ser representado por um valor de milisegundos que é a diferença entre a data atual e a zero hora do dia 01/01/1970 (Epoch, January 1, 1970 00:00:00.000 GMT (Gregorian)). Veja a posição desta classe na hierarquia de classes Java: java.lang.Object java.util.Calendar Esta classe também fornece campos e métodos adicionais para a implementação de um sistema concreto de calendário fora do pacote java.util. Estes campos e métodos são definidos como protected. Assim como as demais classes sensitivas à localização (locale-sensitive), a classe Calendar fornece um método de classe chamado getInstance() que nos permite obter um objeto desta classe. Este método retorna um objeto Calendar cujos campos de calendário são inicializados com a data e hora atual. Veja: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- import java.util.*; public class Estudos{ public static void main(String args[]){ Calendar agora = Calendar.getInstance(); System.out.println(agora.toString()); } } Experimente executar este programa e terá um resultado parecido com: java.util.GregorianCalendar[time=1228937781807, areFieldsSet=true,areAllFieldsSet =true,lenient=true,zone=sun.util.calendar.ZoneInfo [id="America/Sao_Paulo",offset =-10800000,dstSavings=3600000,useDaylight=true, transitions=129,lastRule=java.uti l.SimpleTimeZone[id=America/Sao_Paulo,offset= -10800000,dstSavings=3600000,useDay light=true,startYear=0,startMode=3,startMonth=9, startDay=15,startDayOfWeek=1,sta rtTime=0,startTimeMode=0,endMode=3,endMonth=1, endDay=15,endDayOfWeek=1,endTime=0 ,endTimeMode=0]],firstDayOfWeek=2, minimalDaysInFirstWeek=1,ERA=1,YEAR=2008,MONTH =11,WEEK_OF_YEAR=50,WEEK_OF_MONTH=2,DAY_OF_MONTH= 10,DAY_OF_YEAR=345,DAY_OF_WEEK= 4,DAY_OF_WEEK_IN_MONTH=2,AM_PM=1,HOUR=5,HOUR_OF_DAY =17,MINUTE=36,SECOND=21,MILLI SECOND=807,ZONE_OFFSET=-10800000,DST_OFFSET=3600000] Como podemos ver, todas as informações relativas à data e hora que poderemos precisar estão contidas neste resultado. Um objeto Calendar pode produzir todos os valores de todos os campos de calendário necessários para implementar a formatação de data e hora para uma determinada língua e estilo de calendário (por exemplo, Japanese-Gregorian, Japanese-Traditional). A classe Calendar define a faixa de valores retornados por determinados campos de calendário, assim como seus significados. Por exemplo, o primeiro mês do sistema de calendário tem o valor MONTH == JANUARY para todos os calendários. Outros valores são definidos por subclasses concretas, tais como ERA. |
![]() |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções |
Métodos - Exercícios Resolvidos de Java - Ex. 4 - Um método estático que recebe dois números inteiros e retorna o maior delesQuantidade de visualizações: 4449 vezes |
Pergunta/Tarefa: Escreva um método Java que recebe dois números inteiros e retorna o maior deles. Este método deverá ter a seguinte assinatura: public static int maior(int a, int b){ // sua implementação aqui } Sua saída deverá ser parecida com: ![]() Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); // vamos solicitar que o usuário informe dois numeros inteiros System.out.print("Informe o primeiro número: "); int num1 = Integer.parseInt(entrada.nextLine()); System.out.print("Informe o segundo número: "); int num2 = Integer.parseInt(entrada.nextLine()); // obtém o número maior int numeroMaior = maior(num1, num2); System.out.println("O numero maior é: " + numeroMaior); System.out.println("\n"); } // um método estático que recebe dois números inteiros e retorna o maior deles public static int maior(int a, int b){ if(a > b){ return a; } else{ return b; } } } |
Java ::: Pacote java.awt.event ::: KeyEvent |
Java Swing - Como obter o código da tecla pressionada usando o método getKeyCode() da classe KeyEvent do JavaQuantidade de visualizações: 4340 vezes |
O método getKeyCode() da classe KeyEvent é usado quando queremos obter o código da tecla pressionada durante um evento KEY_PRESSED ou KEY_RELEASED. Para o evento KEY_TYPED, o keyCode é VK_UNDEFINED. Veja um trecho de código no qual usamos o método getKeyCode() para obter e informar o código da tecla pressionada durante um evento keyPressed: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package estudos; import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JFrame; import javax.swing.JOptionPane; public class Janela extends JFrame implements KeyListener{ public Janela(){ super("Eventos do Teclado"); Container c = getContentPane(); FlowLayout layout = new FlowLayout(FlowLayout.LEFT); c.setLayout(layout); // vamos adicionar o objeto listener addKeyListener(this); setSize(350, 250); setVisible(true); } @Override public void keyPressed(KeyEvent e){ // vamos obter o código da tecla pressionada int codigo = e.getKeyCode(); JOptionPane.showMessageDialog(null, "O código da tecla pressionada é: " + codigo); } @Override public void keyReleased(KeyEvent e){ // sem implementação } @Override public void keyTyped(KeyEvent e){ // sem implementação } public static void main(String args[]){ Janela j = new Janela(); j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } Ao executar este código e pressionarmos uma tecla nós teremos o seguinte resultado: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- O código da tecla pressionada é: 65 É importante observar que o código da tecla pode ser obtido somente nos eventos keyPressed e keyReleased. Para o evento keyTyped o retorno do método getKeyCode() é VK_UNDEFINED. |
Java ::: Dicas & Truques ::: Matemática e Estatística |
Como testar se um número é primo em JavaQuantidade de visualizações: 2486 vezes |
O Número Primo é o número maior que 1 e que só pode ser dividido por 1 e por ele mesmo, ou seja, números primos não podem ser divididos por outros números, a não ser por ele mesmo e pelo número 1. Dessa forma, 2, 3, 5, 7, 11, 13, 17, etc, são todos números primos. É importante observar que 0 e 1 não são números primos, e que o número 2 é o único número primo par. Veja agora um código Java completo que pede para o usuário informar um número inteiro positivo e mostra uma mensagem indicando se o número informado é primo ou não: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package arquivodecodigos; import java.util.Scanner; public class Estudos{ public static void main(String[] args) { // vamos fazer a leitura usando a classe Scanner Scanner entrada = new Scanner(System.in); // vamos solicitar um número inteiro positivo System.out.print("Informe um número inteiro positivo: "); int numero = Integer.parseInt(entrada.nextLine()); // o número é negativo? if(numero < 0){ System.out.println("Número inválido."); } // é 0 ou 1? else if((numero == 0) || (numero == 1)){ System.out.println("Número válido, mas não é primo. "); } // passou até aqui. Vamos testar se o número é primo else{ boolean primo = true; for (int i = 2; i <= (numero / 2); i++){ // se passar no teste, não é primo if (numero % i == 0) { primo = false; break; } } if(primo){ System.out.println("O número informado é primo"); } else{ System.out.println("O número informado não é primo"); } } } } Ao executar este código Java nós teremos o seguinte resultado: Informe um número inteiro positivo: 9 O número informado não é primo |
Java ::: Dicas & Truques ::: Data e Hora |
Como retornar a hora atual em Java usando um objeto da classe Calendar - Datas e Horas em JavaQuantidade de visualizações: 187 vezes |
Nesta dica mostrarei como podemos usar um objeto da classe Calendar da linguagem Java e seu método get() para obtermos as partes individuais de uma hora e exibí-las. Veja o código completo a seguir:---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package arquivodecodigos; import java.util.Calendar; public class Estudos{ public static void main(String args[]){ Calendar agora = Calendar.getInstance(); // horas, minutos e segundos int horas = agora.get(Calendar.HOUR); int minutos = agora.get(Calendar.MINUTE); int segundos = agora.get(Calendar.SECOND); System.out.println("Hora Atual: " + horas + ":" + minutos + ":" + segundos); } } Ao executar este código Java nós teremos o seguinte resultado: Hora Atual: 11:10:40 |
Java ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o seno de um número ou ângulo em Java usando o método sin() da classe MathQuantidade de visualizações: 3115 vezes |
Em geral, quando falamos de seno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função seno disponível nas linguagens de programação para calcular o seno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria. No entanto, é sempre importante entender o que é a função seno. Veja a seguinte imagem: ![]() Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles. Assim, o seno é a razão entre o cateto oposto (oposto ao ângulo theta) e a hipotenusa, ou seja, o cateto oposto dividido pela hipotenusa. Veja a fórmula: \[\text{Seno} = \frac{\text{Cateto oposto}}{\text{Hipotenusa}} \] Então, se dividirmos 20 por 36.056 (na figura eu arredondei) nós teremos 0.5547, que é a razão entre o cateto oposto e a hipotenusa (em radianos). Agora, experimente calcular o arco-cosseno de 0.5547. O resultado será 0.9828 (em radianos). Convertendo 0.9828 radianos para graus, nós obtemos 56.31º, que é exatamente o ângulo em graus entre o cateto oposto e a hipotenusa na figura acima. Pronto! Agora que já sabemos o que é seno na trigonometria, vamos entender mais sobre a função sin() da linguagem Java. Esta método, que faz parte da classe Math, recebe um valor numérico e retorna um valor, também numérico) entre -1 até 1 (ambos inclusos). Veja: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package arquivodecodigos; public class Estudos{ public static void main(String args[]){ System.out.println("Seno de 0 = " + Math.sin(0)); System.out.println("Seno de 1 = " + Math.sin(1)); System.out.println("Seno de 2 = " + Math.sin(2)); } } Ao executar este código Java nós teremos o seguinte resultado: Seno de 0 = 0.0 Seno de 1 = 0.8414709848078965 Seno de 2 = 0.9092974268256817 Note que calculamos os senos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função seno mostrada abaixo: ![]() |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como quebrar (separar) uma string em palavras usando um objeto da classe StringTokenizer do JavaQuantidade de visualizações: 124 vezes |
Nesta dica mostrarei como é possível usar um objeto da classe StringTokenizer da linguagem Java para quebrar uma frase em palavras, ou seja, separar as palavras de uma frase e acessá-las individualmente. Note como usei o método hasMoreTokens() dentro de um laço while para verificar se ainda há partes da string a ser acessada. Caso o retorno seja verdadeiro, uma chamada à nextToken() nos retorna a palavra atual, a qual exibimos na tela. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package arquivodecodigos; import java.util.*; public class Estudos{ public static void main(String args[]){ String frase = "Gosto de programar em Java"; System.out.println("A frase é: " + frase); StringTokenizer parser = new StringTokenizer(frase); System.out.println("\nSuas partes individuais:"); while(parser.hasMoreTokens()){ System.out.println(parser.nextToken()); } } } Ao executar este código Java nós teremos o seguinte resultado: A frase é: Gosto de programar em Java Suas partes individuais: Gosto de programar em Java |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Como calcular salário líquido em Java - Calculando o salário líquido de um professorQuantidade de visualizações: 10509 vezes |
Pergunta/Tarefa: Escreva um programa Java que calcule o salário líquido de um professor. Seu programa deverá solicitar que o usuário informe o valor da hora aula (como double), o número de horas trabalhadas no mês (como inteiro) e o percentual de desconto do INSS (como double). Em seguida mostre o salário líquido, formatado de acordo com a moeda brasileira em vigor (na resolução eu usei o Real). Sua saída deverá ser parecida com: Informe o valor da hora aula: 28 Informe o número de horas trabalhadas no mês: 12 Informe o percentual de desconto do INSS: 8 Salário Bruto: R$ 336,00 Total de Descontos: R$ 26,88 Salário Líquido: R$ 309,12 Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package estudos; import java.text.NumberFormat; import java.util.Scanner; public class Estudos{ public static void main(String[] args) { // vamos fazer a leitura usando a classe Scanner Scanner entrada = new Scanner(System.in); // vamos ler o valor do hora aula System.out.print("Informe o valor da hora aula: "); double valorHoraAula = Double.parseDouble(entrada.nextLine()); // vamos ler o número de horas trabalhadas no mês System.out.print("Informe o número de horas trabalhadas no mês: "); int horasTrabalhadas = Integer.parseInt(entrada.nextLine()); // vamos ler o percentual de desconto do INSS System.out.print("Informe o percentual de desconto do INSS: "); double percentualDescontoINSS = Double.parseDouble(entrada.nextLine()); // vamos calcular o salário bruto double salarioBruto = valorHoraAula * horasTrabalhadas; // agora calculamos o total do desconto double totalDesconto = (percentualDescontoINSS / 100) * salarioBruto; // finalmente calculamos o salário líquido double salarioLiquido = salarioBruto - totalDesconto; // mostramos o resultado NumberFormat formato = NumberFormat.getCurrencyInstance(); System.out.println("Salário Bruto: " + formato.format(salarioBruto)); System.out.println("Total de Descontos: " + formato.format(totalDesconto)); System.out.println("Salário Líquido: " + formato.format(salarioLiquido)); } } |
Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como retornar o tamanho de um array em Java usando a propriedade length do objeto ArrayQuantidade de visualizações: 11171 vezes |
Nesta dica mostrarei como usar a propriedade length de um vetor (array de uma linha e várias colunas) para retornar a quantidade de elementos que ele possui. Este retorno é um número inteiro. Veja o código completo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package arquivodecodigos; public class Estudos{ public static void main(String[] args){ // cria um vetor de cinco elementos String[] pessoas = {"Fábio", "Fernanda", "Francisco", "João", "Osmar"}; // obtém o tamanho do vetor int quant = pessoas.length; System.out.println("Este array possui " + quant + " elementos"); System.exit(0); } } Ao executarmos este código nós teremos o seguinte resultado: Este array possui 5 elementos Este código foi revisado e testado no Java 8. |
Vamos testar seus conhecimentos em |
Dimensionamento de pilares de extremidade As solicitações que ocorrem num pilar de extremidade podem ser as forças normais e os momentos fletores. No método de dimensionamento do pilar-padrão com curvatura aproximada, considera-se um momento mínimo que deverá ser comparado com os demais momentos de 1ª ordem. Diante do exposto, qual é o valor do momento mínimo nas direções x e y do pilar de extremidade apresentado na figura a seguir? ![]() A) M1d, mín, x = 4025,65KN.cm; M1d, mín, y = 2499,5KN.cm. B) M1d, mín, x = 1585,25KN.cm; M1d, mín, y = 2389,21KN.cm. C) M1d, mín, x = 2500KN.cm; M1d, mín, y = 3056,5KN.cm. D) M1d, mín, x = 2028,6KN.cm; M1d, mín, y = 3056,5KN.cm. E) M1d, mín, x = 2028,6KN.cm; M1d, mín, y = 2499KN.cm. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Resistência do concreto Quando não forem feitos ensaios e não existirem dados mais precisos sobre o concreto em uma idade menor que 28 dias, pode-se estimar o valor do seu módulo de elasticidade utilizando como base os critérios expostos no item 8.2.8 da NBR 6118/2014 - Projeto de Estruturas de Concreto - Procedimento. Determine qual seria o módulo de elasticidade estimado para um concreto produzido com cimento CP V-ARI, com fck = 70 MPa, em uma idade de 21 dias (três semanas), considerando o uso de granito como agregado graúdo. A) Eci (21) = 40 GPa. B) Eci (21) = 41 GPa. C) Eci (21) = 42 GPa. D) Eci (21) = 43 GPa. E) Eci (21) = 44 GPa. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
O projeto de instalação hidrossanitária Os profissionais da área civil devem estar atentos às definições e às funções dos mais diversos sistemas e equipamentos, não apenas do projeto hidrossanitário, mas da obra em um todo. Considere os elementos a seguir e os relacione com o conceito correto: I. Caixa sifonada (CS) II. Subcoletor (SC) III. Ramal de descarga (RD) IV. Ralo (RA) ( ) Tubulação que recebe efluentes dos ramais de esgoto e conduz a um tubo de queda e/ou destes ao coletor predial. ( ) Tubulação que recebe diretamente efluentes de aparelhos sanitários, com exceção dos autossifonados, como mictórios, vasos, etc. ( ) É pequeno e tem apenas uma saída para conduzir a água. ( ) Tem apenas uma saída, mas conta com mais entradas (de 3 a 7). Assinale a alternativa que apresenta a sequência correta: A) II - III - IV - I. B) IV - II - III - I. C) III - II - I - IV. D) II - I - IV - III. E) III - IV - I - II. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Vigas a flexão simples: seções retangulares Quando uma viga é simplesmente armada, significa que o aço está sendo utilizado para resistir às solicitações das regiões da seção que estão sendo submetidas à tração, e o concreto está sendo utilizado para resistir às solicitações de compressão. Considere que uma viga contínua V (15x40) tem uma solicitação de momento fletor de 45,20kN.m. O concreto utilizado nessa viga tem resistência de 25MPa e a agressividade ambiental do local é classe II (considere que é uma viga pouco solicitada). Das alternativas a seguir, assinale aquela que apresenta a área de aço da armadura longitudinal dessa viga. A) 2,93cm2. B) 3,26cm2. C) 4,11cm2. D) 4,57cm2. E) 4,75cm2. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fundações |
Sondagem à Percussão (SPT) e Rotativa (RQD) O ensaio SPT pode ser recomendado de forma exclusiva nos seguintes casos: A) Um solo com presença de matacões, como são os solos coluvionares. B) Em solo residual de lamitos com ambiente bem drenado. C) Em solos transportados de leques aluviais. D) Em solos de cascalho de beira de rio. E) Em solos com presença de areias muito compactas. Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
C# - Como adicionar ou subtrair dias de uma data em C# usando o método AddDays() da estrutura DateTime JavaScript - Como filtrar os elementos de um array em JavaScript usando a função filter() - Vetores e matrizes em JavaScript |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |