Você está aqui: Java ::: Dicas & Truques ::: Data e Hora |
Adicionar ou subtrair anos de uma data e hora usando o método add() da classe CalendarQuantidade de visualizações: 10416 vezes |
Este trecho de código mostra como usar o método add() da classe Calendar para adicionar ou subtrair anos de uma data. Veja que este método requer o campo de calendário e um número inteiro. Para o nosso propósito, o campo de calendário será Calendar.YEAR. Um valor positivo adiciona dias enquanto um valor negativo subtrai: import java.util.*; import java.text.*; public class Estudos{ public static void main(String args[]){ Calendar agora = Calendar.getInstance(); // formata e exibe a data e hora atual Format formato = new SimpleDateFormat( "dd/MM/yyyy - HH:mm:ss"); System.out.println("Hoje é: " + formato.format(agora.getTime())); // vamos adicionar 3 anos a esta data agora.add(Calendar.YEAR, 3); // formata e exibe o resultado formato = new SimpleDateFormat( "dd/MM/yyyy - HH:mm:ss"); System.out.println("Daqui a 3 anos será: " + formato.format(agora.getTime())); } } |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Reflection (introspecção) e RTI (Runtime Type Information) ::: Passos Iniciais |
Como retornar o nome de uma classe Java usando os métodos getClass() e getName()Quantidade de visualizações: 13304 vezes |
Entre os métodos que uma classe herda da classe Object, está o método getClass(). Este método retorna um objeto da classe Class e podemos tirar proveito disso para fazer em encadeamento e chamar também o método getName() para obter o nome de uma determinada classe. Veja o exemplo no qual obtemos uma String contendo o nome de uma classe (juntamente com o nome do pacote ao qual ela pertence): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- import javax.swing.*; public class Estudos{ public static void main(String args[]){ JButton btn = new JButton(); String nomeClasse = btn.getClass().getName(); System.out.println(nomeClasse); // exibirá: "javax.swing.JButton" System.exit(0); } } Ao executarmos este código nós teremos o seguinte resultado: javax.swing.JButton |
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em Java - Java OOP - Como chamar o construtor de uma superclasse a partir da classe derivadaQuantidade de visualizações: 18899 vezes |
Em algumas situações, é necessário efetuar uma chamada ao construtor de uma superclasse a partir da sub-classe, ou classe derivada. Principalmente quando temos que inicializar dados privados pertencentes à superclasse. Imaginemos o seguinte cenário: uma classe Pessoa cujo construtor recebe o nome e idade da pessoa. Temos então uma classe Aluno que herda de pessoa e cujo construtor recebe nome, idade e matrícula. Desta forma, temos aqui uma boa oportunidade para efetuarmos uma chamada ao construtor da superclasse a partir da classe derivada. Comece criando a classe Pessoa (Pessoa.java): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public class Pessoa{ public String nome; public int idade; // construtor da classe public Pessoa(String nome, int idade){ this.nome = nome; this.idade = idade; } } Compile Pessoa.java. Agora vamos criar um classe Aluno (Aluno.java) que herda da classe Pessoa: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public class Aluno extends Pessoa{ public String matricula; // construtor public Aluno(String nome, int idade, String matricula){ // chama o construtor da superclasse super(nome, idade); this.matricula = matricula; } } Compile Aluno.java e escreva o programa abaixo, que demonstra como a chamada ao construtor da superclasse é feita a partir da subclasse, ou classe derivada: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public class Estudos{ public static void main(String args[]){ // cria um objeto da classe Aluno Aluno aluno = new Aluno("Osmar J. Silva", 36, "AC434-23"); // Exibe o resultado System.out.println("Nome: " + aluno.nome + "\n" + "Idade: " + aluno.idade + "\n" + "Matrícula: " + aluno.matricula); } } Execute este código e observe alguns detalhes interessantes. O mais importante é a forma de chamar o construtor da superclasse: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // chama o construtor da superclasse super(nome, idade); Veja como recebemos três variáveis no construtor da classe Aluno e passamos duas delas para o construtor da superclasse. |
Java ::: Dicas & Truques ::: Mouse e Teclado |
Computação Gráfica em Java - Código completo Java Swing para um programa de desenho usando eventos do mouseQuantidade de visualizações: 31358 vezes |
Nesta dica apresento um código completo para um programa de desenho usando os eventos os mouse, feito em Java Swing. Veja que o único evento que tivemos que implementar foi mouseDragged, que é disparado quando o usuário arrasta o mouse com o botão direito ou esquerdo pressionado. Observe também a criação de uma classe JPanel personalizada que servirá como painel de desenho. Fique atento à forma como subscrevemos o método paintComponent() na classe PainelDesenho para obtermos o objeto Graphics que nos permitirá desenhar na superfície do JPanel. O resultado é exibido na imagem abaixo: E aqui está o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Estudos extends JFrame{ public Estudos(){ super("Eventos do Mouse e Teclado"); Container c = getContentPane(); PainelDesenho painel = new PainelDesenho(); c.add(painel, BorderLayout.CENTER); c.add(new JLabel("Arraste o mouse para desenhar..." ), BorderLayout.SOUTH ); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } class PainelDesenho extends JPanel{ private int quantPontos = 0; private Point pontos[] = new Point[10000]; public PainelDesenho(){ this.setBackground(Color.WHITE); this.addMouseMotionListener( new MouseMotionAdapter(){ public void mouseDragged(MouseEvent e){ if(quantPontos < pontos.length){ pontos[quantPontos] = e.getPoint(); quantPontos++; repaint(); } } } ); } @Override public void paintComponent(Graphics g){ super.paintComponent(g); for(int i = 0 ; i < quantPontos; i++) g.fillOval(pontos[i].x, pontos[i].y, 4, 4); } } |
Vamos testar seus conhecimentos em Hidrologia |
Marque a alternativa que indica uma característica da rede hidrográfica brasileira. A) É formada principalmente por rios intermitentes. B) Não apresenta cursos de água em área de planalto. C) Possui rios com o predomínio de foz do tipo estuário. D) Todos os rios brasileiros possuem regime nival. E) É composta por rios de baixo aproveitamento hídrico. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual o resultado da execução do seguinte código Python?# função usada para trocar dois itens de posição em uma lista def trocar_posicao(lista, pos1, pos2): lista[pos1], lista[pos2] = lista[pos2], lista[pos1] return lista # cria uma lista valores = [1, 2, 3, 4] # define as posições de troca pos1, pos2 = 0, 3 # chama a função de troca e retorna a nova lista print(trocar_posicao(valores, pos1, pos2)) A) [1, 4, 3, 2] B) [3, 2, 4, 1] C) [4, 2, 3, 1] D) [4, 4, 3, 2] E) [4, 3, 2, 1] Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Viscosidade dinâmica A viscosidade dinâmica é uma substância dada em função do aumento das tensões de cisalhamento aplicadas à substância. A proporção em que o fluido se deforma em função do tempo é chamada de: A) velocidade do fluido. B) viscosidade do fluido. C) taxa de deformação do fluido. D) densidade do fluido. E) força aplicada ao fluido. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
O exercício do direito à propriedade A lei traz uma série de regras para o direito de construir, matéria atinente aos direitos de vizinhança, como distanciamento mínimo entre as construções, bem como conceitos de itens e elementos da arquitetura das construções, para que os vizinhos saibam o que podem ou não fazer nesse tocante. Assinale a alternativa correta sobre as regras do Código Civil que se referem ao direito de construir: A) A inserção de janelas, terraços ou varandas é permitida somente se abrir a 1 metro do vizinho, sendo considerada janela qualquer fresta que receba luz. B) É correto afirmar, sobre os elementos que podem compor uma construção, que muro e parede-meia são sinônimos. C) Em relação à parede-meia, qualquer um dos confinantes pode ali inserir armários, prateleiras ou realizar obras sem o consentimento do outro, pois aos dois pertencem. D) As janelas perpendiculares, ou cuja visão não incida sobre a linha divisória, são chamadas também de janelas indiretas, e não poderão ser abertas sem respeitar o limite mínimo de 50%. E) As construções rurais devem respeitar o limite comum de 3 metros e, para as urbanas, a lei permite que o prédio venha até o limite divisório, mas com o cuidado de deixar a janela a, no máximo, metro e meio do prédio vizinho. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fundações |
Fundações diretas ou rasas As fundações rasas são executadas nas camadas mais superficiais do solo, geralmente em profundidades inferiores a 2m e são utilizadas comumente em obras de pequeno ou médio porte. De acordo com a norma ABNT NBR 6122: 2010 (Projeto e execução de fundações), no que se refere às fundações superficiais rasas ou diretas, assinale a alternativa correta. A) No dimensionamento de fundação superficial solicitada por carga excêntrica, a área comprimida deve ser de, no mínimo, dois terços da área total da fundação. B) Levando em consideração o custo-benefício de uma obra, recomenda-se que a profundidade mínima para assentamento de uma sapata seja de 1m. C) As partes da fundação rasa em contato com o solo devem ser concretadas sobre um lastro de concreto estrutural igual a 2,5cm de espessura. D) No caso de fundações próximas, porém situadas em cotas diferentes, a fundação situada em cota mais alta deve sempre ser executada primeiro. E) As sapatas isoladas não devem ter dimensões em planta inferiores a 1m. Se esse critério não puder ser utilizado, deve-se adotar outro tipo de fundação. 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ó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 |