Você está aqui: Java ::: Coleções (Collections) ::: ArrayList |
Usando Collections.reverseOrder() para ordenar os elementos de uma ArrayList em ordem descendenteQuantidade de visualizações: 11852 vezes |
/* Este exemplo mostra como ordenar os elementos de uma ArrayList. A ordenação é aplicada a elementos do tipo String. Lembre-se que os elementos a serem ordenados precisam implementar a interface Comparable. O exemplo usa também Collections.reverseOrder() para ordenar os elementos em ordem descendente. */ import java.util.ArrayList; import java.util.Collections; public class Estudos{ public static void main(String[] args){ // cria uma ArrayList que conterá strings ArrayList<String> nomes = new ArrayList<String>(); // adiciona itens na lista nomes.add("Carlos"); nomes.add("Maria"); nomes.add("Fernanda"); nomes.add("Osmar"); // exibe os elementos da ArrayList for(int i = 0; i < nomes.size(); i++) System.out.println(nomes.get(i)); // Vamos ordenar os elementos Collections.sort(nomes, Collections.reverseOrder()); // exibe os elementos da ArrayList System.out.println(); for(int i = 0; i < nomes.size(); i++) System.out.println(nomes.get(i)); System.exit(0); } } |
![]() |
Java ::: Dicas & Truques ::: Arquivos e Diretórios |
Como excluir um diretório em Java usando o método delete() da classe File - Curso de Java para iniciantesQuantidade de visualizações: 9611 vezes |
Em algumas situações nós precisamos excluir um ou mais diretórios a partir de nossos códigos Java. Para isso nós podemos usar o método delete() da classe File, no pacote java.io. 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.io.*; public class Estudos{ public static void main(String[] args){ File diretorio = new File("c:\\java"); if(diretorio.delete()){ System.out.println("Diretorio excluido com sucesso."); } else{ System.out.println("Não foi possivel excluir o diretorio"); } } } Ao executarmos este código nós teremos o seguinte resultado (assumindo que você tem um diretório chamado "c:\\java"): Diretorio excluido com sucesso. Lembre-se de que o método delete() da classe File só permitirá a exclusão do diretório se este estiver vazio. |
Java ::: Topografia e Geoprocessamento ::: Passos Iniciais |
Como converter graus, minutos e segundos para graus decimais em JavaQuantidade de visualizações: 456 vezes |
Em algumas situações, principalmente em cálculos da Engenharia Civil e Topografia, nós precisamos converter graus, minutos e segundos para graus decimais. É comum chamarmos graus, minutos e segundos de DMS ou GMS, enquanto os graus decimais são chamados de UTM. Nesta dica veremos como converter 85º 42' 13.75'' para graus decimais. A fórmula que usaremos é a seguinte: \[\text{Graus decimais} = \text{Graus} + \frac{\text{Minutos}}{60} + \frac{\text{Segundos}}{3600} \] Veja agora o código Java completo que pede para o usuário informar os graus, os minutos e os segundos e mostra os graus decimais: ---------------------------------------------------------------------- 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) { // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos pedir para o usuário informar os graus, minutos // e segundos System.out.print("Informe os graus: "); double graus = Double.parseDouble(entrada.nextLine()); System.out.print("Informe os minutos: "); double minutos = Double.parseDouble(entrada.nextLine()); System.out.print("Informe os segundos: "); double segundos = Double.parseDouble(entrada.nextLine()); // agora vamos calcular os graus decimais double grausDecimais = graus + (minutos / 60.0) + (segundos / 3600.0); // e agora mostramos o resultado System.out.println("Os graus decimais são: " + grausDecimais); } } Ao executar este código Java nós teremos o seguinte resultado: Informe os graus: 85 Informe os minutos: 42 Informe os segundos: 13.75 Os graus decimais são: 85.70381944444445 Fique atento ao sinal. Se o valor em graus, minutos e segundos possuir os caracteres "W" ou "S", então o valor em graus decimais deverá levar o sinal de negativo. |
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como usar construtores em suas classes Java - Programação orientada a objetos em Java - Métodos construtores - RevisadoQuantidade de visualizações: 19906 vezes |
Muitas vezes precisamos inicializar propriedades de um objeto de uma classe Java no momento em que este é criado. Para isso podemos usar um método construtor. Um método construtor, que em Java é definido por um método com o mesmo nome da classe, é chamado no exato momento em que efetuamos uma chamada a new. Veja um exemplo no qual exibimos uma mensagem alertando que um objeto de uma classe acaba de ser criado: ---------------------------------------------------------------------- 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 ---------------------------------------------------------------------- class Pessoa{ public Pessoa(){ System.out.println("Fui criado."); } } public class Estudos{ public static void main(String args[]){ // cria um objeto da classe Pessoa Pessoa p = new Pessoa(); } } Execute este código e veja o resultado. Note que um construtor deve, exceto em raríssimas ocasiões, ser marcado com o modificador public. Além disso, um construtor não possui retorno e só se torna realmente útil quando o usamos para inicializar as propriedades do objeto recém-criado. 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 ---------------------------------------------------------------------- class Pessoa{ public String nome; public Pessoa(String nome){ this.nome = nome; } } public class Estudos{ public static void main(String args[]){ // cria um objeto da classe Pessoa Pessoa p = new Pessoa("Osmar J. Silva"); System.out.println(p.nome); } } Aqui nós fornecemos o valor para a propriedade nome na mesma instrução que cria a instância da classe. Quando não definimos um método construtor, o compilador Java o faz nos bastidores. Mas isso só ocorre quando não definimos o nosso próprio método construtor, seja ele com ou sem parâmetros. |
Java ::: Classes e Componentes ::: JTable |
Java Swing Avançado - Como exibir imagens nas células de uma JTable em suas aplicações Java SwingQuantidade de visualizações: 14983 vezes |
Nesta dica mostrarei como criar uma classe personalizada que estende a classe JLabel e implementa a interface TableCellRenderer. O objetivo é fornecer esta JLabel ao método setCellRenderer() de uma das colunas da JTable e exibir uma imagem ou foto ao lado do conteúdo da célula. Veja o resultado da figura abaixo: ![]() E aqui está o código Java Swing 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 javax.swing.*; import java.awt.*; import javax.swing.table.*; public class Estudos extends JFrame{ public Estudos(){ super("Exemplo de uma tabela simples"); // colunas da tabela String[] colunas = {"Nome", "Idade", "Sexo"}; // conteúdo da tabela Object[][] conteudo = { {"Osmar J. Silva", "32", "Masculino"}, {"Maria Clara Gomes", "19", "Feminino"}, {"Fernando Gomes", "15", "Masculino"}, {"Carlos Vieira", "40", "Masculino"} }; // constrói a tabela JTable tabela = new JTable(conteudo, colunas); // quero exibir imagens ao lado do texto da primeira coluna TableCellRenderer tcr = new Imagem(); TableColumn column = tabela.getColumnModel().getColumn(0); column.setCellRenderer(tcr); tabela.setPreferredScrollableViewportSize(new Dimension(350, 50)); Container c = getContentPane(); c.setLayout(new FlowLayout()); JScrollPane scrollPane = new JScrollPane(tabela); c.add(scrollPane); setSize(400, 300); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } class Imagem extends JLabel implements TableCellRenderer{ public Imagem(){ setOpaque(true); } public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column){ Icon imagem = new ImageIcon("C:\\estudos_java\\icon.gif"); // certifique-se da existencia da imagem "icon.gif" antes de executar if(isSelected) setBackground(table.getSelectionBackground()); else setBackground(table.getBackground()); setIcon(imagem); setText(value.toString()); return this; } public void validate() {} public void revalidate() {} protected void firePropertyChange(String propertyName, Object oldValue, Object newValue) {} public void firePropertyChange(String propertyName, boolean oldValue, boolean newValue) {} } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Como calcular lucro mensal de uma empresa em Java - O lucro de uma empresa é dado por L(x) = 10x - 5000, onde x é a quantidadeQuantidade de visualizações: 681 vezes |
Pergunta/Tarefa: O lucro de uma empresa é dado por L(x) = 10x - 5000, onde x é a quantidade de produtos vendidos num determinado mês e 5000 são os custos de execução do trabalho da empresa. Escreva um programa Java que leia a quantidade de produtos vendidos como um número inteiro e calcule e mostre o lucro mensal dessa empresa. Sua saída deverá ser parecida com: Informe a quantidade de produtos vendidos: 950 O lucro da empresa foi: R$ 4500.0 Veja a resolução comentada deste exercício usando Java: ---------------------------------------------------------------------- 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) { // variáveis usadas na resolução do problema int quant_produtos_vendidos; double lucro; // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos pedir a quantidade de produtos vendidos System.out.print("Informe a quantidade de produtos vendidos: "); quant_produtos_vendidos = Integer.parseInt(entrada.nextLine()); // vamos calcular o lucro da empresa lucro = (10 * quant_produtos_vendidos) - 5000; // e mostramos o resultado System.out.println("O lucro da empresa foi: R$ " + lucro); } } |
Java ::: Dicas & Truques ::: Arquivos e Diretórios |
Como escrever em um arquivo usando Java - Como escrever em um arquivo usando as classes BufferedWriter e FileWriter do JavaQuantidade de visualizações: 9 vezes |
Nesta dica mostrarei como podemos usar a linguagem Java para escrever em um arquivo texto. Para isso nós vamos usar as classes BufferedWriter e FileWriter. Veja o trecho de 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.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; public class Estudos{ public static void main(String args[]){ try { BufferedWriter out = new BufferedWriter(new FileWriter("C:\\estudos_java\\conteudo.txt")); out.write("Esta é a primeira linha de texto\r\n"); out.write("Esta é a segunda linha de texto"); out.close(); } catch(IOException e){ System.out.println("Houve um erro: " + e.getMessage()); } System.out.println("Acabei de escrever no arquivo"); } } Ao executar este código Java nós teremos o seguinte resultado: Acabei de escrever no arquivo. Tenha cuidado. Se o arquivo já existir, o método write() da classe BufferedWriter vai sobrescrever o seu conteúdo. Por isso, é sempre uma boa idéia fazer uma verificação antes. |
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como usar o modificador abstract em suas classes e métodos Java - Programação Orientada a Objetos em Java - Java POOQuantidade de visualizações: 18202 vezes |
O modificador abstract pode ser aplicado a classes e métodos. Seu uso com variáveis pode causar o erro abaixo:abstract String nome; Estudos.java:2: modifier abstract not allowed here abstract String nome; ^ 1 error Classes abstratas não podem ser instanciadas, ou seja, não podemos chamar seu construtor. Veja um 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 ---------------------------------------------------------------------- public class Estudos{ public static void main(String args[]){ Cliente cliente = new Cliente(); System.exit(0); } } abstract class Cliente{ public Cliente(){ } } Ao tentarmos compilar esta classe teremos o seguinte erro: Estudos.java:3: Cliente is abstract; cannot be instantiated Cliente cliente = new Cliente(); ^ 1 error A função principal de classes abstratas é forçar a implementação para as sub-classes. Desta forma, seus métodos são declarados com o modificador abstract e sem corpo. 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 ---------------------------------------------------------------------- abstract class Cliente{ abstract void obterNome(); } Sempre que suas classes contiverem um ou mais métodos abstratos, você deverá declará-la abstrata. Não seguir esta regra provocará o seguinte erro: class Cliente{ abstract void obterNome(); } Estudos.java:9: Cliente is not abstract and does not override abstract method obterNome() in Cliente class Cliente{ ^ 1 error As situações que fazem com que uma classe deva ser declarada abstract são:
Para finalizar, abstract é o oposto de final. Uma classe final não pode ter sub-classes. Uma classe abstract precisa ter sub-classes. |
Java ::: Java Swing - Gerenciadores de Layout ::: GridBagLayout |
Como usar o gerenciador de layout GridBagLayout em suas aplicações Java SwingQuantidade de visualizações: 12486 vezes |
O gerenciador de layout GridBagLayout é um dos mais complexos e mais flexíveis. Embora possa parecer, esta classe não é uma sub-classe de GridLayout, como mostra sua posição na hierarquia de classes Java:---------------------------------------------------------------------- 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 ---------------------------------------------------------------------- java.lang.Object java.awt.GridBagLayout Esta classe implementa as interfaces LayoutManager, LayoutManager2 e Serializable. A vantagem do gerenciador de layout GridBagLayout em relação ao GridLayout, é que, com o GridBagLayout nós podemos fazer com que os componentes nas linhas e colunas possam ter diferentes tamanhos e às vezes ocupar múltiplas linhas e colunas. O trecho de código abaixo mostra a forma mais simples de se criar um GridBagLayout. Veja que os botões são arranjados de forma horizontal na janela. É claro que sem os ajustes necessários, não tiramos muito proveito do uso deste gerenciador (mas isso será visto em outras dicas dessa seçã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 ---------------------------------------------------------------------- import javax.swing.*; import java.awt.*; public class Estudos extends JFrame{ public Estudos(){ super("Como usar a classe GridBagLayout"); // define o layout setLayout(new GridBagLayout()); // adiciona componentes à janela add(new JButton("Botão 1")); add(new JButton("Botão 2")); add(new JButton("Botão 3")); add(new JButton("Botão 4")); setSize(350, 150); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } Ao executar este código Java Swing nós teremos o seguinte resultado: ![]() |
Vamos testar seus conhecimentos em |
Aglomerantes O que é plasticidade em cales? A) Grau de facilidade de aplicação da cal como revestimento. B) Perdas de volume. C) Volume de pasta de cal obtida através de uma tonelada de cal viva. D) Carbonato de cálcio submetido à ação de calor. E) Hidratação da cal viva. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira |
Estrutura e propriedade dos materiais A determinação e o conhecimento dos materiais são muito importantes para a escolha do material para determinada aplicação. Essa escolha é a partir: A) de um banco de dados obtidos por meio de ensaios laboratoriais. B) da análise do agrupamento e da organização dos átomos. C) da estrutura interna do material. D) da análise das características físicas do material. E) da avaliação da composição química dos materiais. 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?frase = "Gosto Muito de Python" frase = frase.swapcase() print(frase) A) gOSTO mUITO DE pYTHON B) Gosto muito de python C) Gosto Muito De Python D) PYTHON DE MUITO GOSTO E) gosto MUITO de PYTHON Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Instalações prediais de combate a incêndio A norma NBR 13714 estabelece os critérios mínimos exigíveis para sistemas de hidrantes e de mangotinhos, para uso exclusivo no combate a incêndio. Com base nesses critérios, assinale a alternativa correta: A) Uma edificação com área de 850m2 não necessita de um sistema de mangotinhos ou de hidrantes para proteção contra incêndio. B) O ponto de tomada de água para hidrantes e mangotinhos pode ser instalado a até 10m de distância das portas externas e escadas. C) Os hidrantes devem ser distribuídos de tal forma que qualquer ponto da área a ser protegida seja alcançado por no mínimo dois esguichos. D) Uma edificação com parede externa de 12m de altura necessita que o hidrante externo seja instalado afastado no máximo 18m da edificação. E) Uma edificação com parede externa de 12m de altura necessita que o ponto de tomada de água seja instalado a no máximo 2m em relação ao piso. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em AutoCAD Civil 3D |
COGO Points no AutoCAD Civil 3D Qual das ordens de fluxo de trabalho abaixo é a correta para definir o estilo da label de um COGO point na janela Panorama? A) Selecione Edit Points na aba Toolpace -> Prospector, botão direito no título da coluna Point Label Style, selecione o Point Label Style na lista e clique o botão OK. B) Selecione Edit Points na aba Toolpace -> Prospector, duplo-clique na célula desejada na coluna Point Label Style, selecione o Point Label Style na lista e clique o botão OK. C) Selecione Refresh na aba Toolpace -> Prospector, duplo-clique na célula desejada na coluna Point Label Style, selecione o Point Label Style na lista e clique o botão OK. D) Selecione Edit Points na aba Toolpace -> Toolbox, duplo-clique no título da coluna Point Label Style, selecione o Point Label Style na lista e clique o botão OK. 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 |
Delphi - Como obter o número do registro atual em um TClientDataSet do Delphi usando a propriedade RecNo |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |