Você está aqui: Java ::: Design Patterns (Padrões de Projeto) ::: Singleton Pattern |
Padrões de projeto para iniciantes - Como usar o padrão de projeto Singleton em suas aplicações JavaQuantidade de visualizações: 11917 vezes |
O padrão de projeto Singleton (ou Singleton Pattern) é um dos padrões de projeto mais conhecidos e implementado extensivamente nas linguagens que suportam programação orientada a objetos, tais como Java e C#. Nesta dica eu mostrarei como implementá-lo. Uma das situações nas quais usamos o padrão Singleton é quando queremos que somente uma instância de uma determinada classe seja criada e que esta esteja disponível para todas as demais classes do sistema. Um exemplo disso é uma classe responsável por registrar logs do sistema, uma classe responsável por obter conexões com o banco de dados, ou ainda uma classe que concentra dados de configuração da aplicação. Assim, a chave do padrão Singleton é um método estático, geralmente chamado de getInstance(), que retorna uma nova instância da classe se esta ainda não foi instanciada. Se a classe já tiver sido instanciada, o método getInstance() retorna a instância já existente. Vamos ver um exemplo deste padrão em Java. Observe o código a seguir: Código para Logger.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; // Uma classe Singleton responsável por gravar // logs no sistema public class Logger { // variável estática e privada que guarda a instância // atual da classe private static Logger instancia = null; // Método estático que retorna uma instância já existente, ou // cria uma nova instância public static Logger getInstance() { if (instancia == null) { instancia = new Logger(); } return instancia; } // Construtor privado para evitar que instâncias sejam // criadas usando new private Logger() { // não precisamos fazer nada aqui } // método usado para registrar logs public void registrarLog(String dados) { System.out.println("Vou registrar o log: " + dados); } } Veja agora como podemos chamar o método getInstance(), obter um objeto da classe Logger e "registrar um log": Código para Main.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; public class Main { public static void main(String[] args) { // vamos registrar um novo log usando a classe Singleton Logger.getInstance().registrarLog("Novo usuário cadastrado."); } } Ao executar esta aplicação teremos a seguinte saída: Vou registrar o log: Novo usuário cadastrado. |
![]() |
Java ::: Java para Engenharia ::: Eletricidade, Circuitos Elétricos e Eletrônicos |
Como calcular corrente, voltagem, resistência e potência em um circuito série de corrente contínua usando JavaQuantidade de visualizações: 1737 vezes |
Como calcular corrente, voltagem, resistência e potência em um círcuito série de corrente contínua usando Java Nesta dica mostrarei como é possível usar operações básicas da linguagem Java para calcular a corrente, voltagem, resistência e potência em um circuito série de corrente contínua. É conhecido como um circuito série um circuito composto exclusivamente por componentes elétricos ou eletrônicos conectados em série (de conexão em série, que é o mesmo que associação em série ou ligação em série). A associação em série é uma das formas básicas de se conectarem componentes elétricos ou eletrônicos. A nomeação descreve o método como os componentes são conectados. Vanos começar analisando a seguinte imagem: ![]() Esta imagem foi extraída do Simulador do PHET, no endereço https://phet.colorado.edu. Note que temos uma fonte de alimentação 90V, e três resistores (com resistências de 10Ω, 20Ω e 30Ω). Vamos começar relembrando os aspectos importantes dos circuitos em série: 1) A corrente elétrica I (medida em ampères (A), ou coulombs por segundo) é comum a todos os elementos do circuito. 2) A tensão elétrica V, (medida em volts (V), ou joules por coulomb) é dividida entre as cargas, ou seja, a soma das tensões nas cargas deve ser igual à tensão da fonte de alimentação. 3) A resistência elétrica R (medida em ohms (Ω)) total do circuito é igual à soma de todas as resistências das cargas. 4) A potência total P (medida em watts (W)) é igual à soma das potências das cargas que compõem o circuito. Vamos escrever um pouco de código então? Veja nosso primeiro código Java que calcula a corrente total, a tensão total, a resistência total e a potência total do circuito em série mostrado na imagem: ---------------------------------------------------------------------- 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_java; public class Estudos{ public static void main(String[] args){ // Tensão total do circuito em série double eTotal = 90.0; // Resitência total double resist1 = 10.0; double resist2 = 20.0; double resist3 = 30.0; double rTotal = resist1 + resist2 + resist3; // Corrente elétrica total double iTotal = eTotal / rTotal; // Potência elétrica total double pTotal = eTotal * iTotal; // mostra os valores System.out.println("Tensão total: " + eTotal); System.out.println("Resistência total: " + rTotal); System.out.println("Corrente total: " + iTotal); System.out.println("Potência total: " + pTotal); System.exit(0); } } Ao executar este código Java nós teremos o seguinte resultado: Tensão total: 90.0 Resistência total: 60.0 Corrente total: 1.5 Potência total: 135.0 Pronto! Agora que já sabemos o valor da corrente elétrica, e sabemos que a corrente é comum a todos os elementos do circuito em série, podemos calcular a tensão individual dos componentes. Assim, veja um trecho de código Java que calcula a tensão elétrica nos três resistores (lembre-se: tensão é o produto da corrente pela resistência): ---------------------------------------------------------------------- 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_java; public class Estudos{ public static void main(String[] args){ // Tensão total do circuito em série double eTotal = 90.0; // Resitência total double resist1 = 10.0; double resist2 = 20.0; double resist3 = 30.0; double rTotal = resist1 + resist2 + resist3; // Corrente elétrica total double iTotal = eTotal / rTotal; // Potência elétrica total double pTotal = eTotal * iTotal; // mostra os valores System.out.println("Tensão total: " + eTotal); System.out.println("Resistência total: " + rTotal); System.out.println("Corrente total: " + iTotal); System.out.println("Potência total: " + pTotal); // mostra as tensões nos resistores System.out.println("\nTensão nos resistores individuais:"); double e1 = resist1 * iTotal; double e2 = resist2 * iTotal; double e3 = resist3 * iTotal; System.out.println("Tensão no Resistor 1: " + e1 + "V"); System.out.println("Tensão no Resistor 2: " + e2 + "V"); System.out.println("Tensão no Resistor 3: " + e3 + "V"); System.exit(0); } } Ao executar este código Java nós teremos o seguinte resultado: Tensão total: 90.0 Resistência total: 60.0 Corrente total: 1.5 Potência total: 135.0 Tensão nos resistores individuais: Tensão no Resistor 1: 15.0V Tensão no Resistor 2: 30.0V Tensão no Resistor 3: 45.0V Para finalizar, vamos calcular a potência dissipada em cada um dos resistores de forma individual. Observe que a potência é o produto da tensão pela corrente (P = E.I). Eis o código: ---------------------------------------------------------------------- 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_java; public class Estudos{ public static void main(String[] args){ // Tensão total do circuito em série double eTotal = 90.0; // Resitência total double resist1 = 10.0; double resist2 = 20.0; double resist3 = 30.0; double rTotal = resist1 + resist2 + resist3; // Corrente elétrica total double iTotal = eTotal / rTotal; // Potência elétrica total double pTotal = eTotal * iTotal; // mostra os valores System.out.println("Tensão total: " + eTotal); System.out.println("Resistência total: " + rTotal); System.out.println("Corrente total: " + iTotal); System.out.println("Potência total: " + pTotal); // mostra as tensões nos resistores System.out.println("\nTensão nos resistores individuais:"); double e1 = resist1 * iTotal; double e2 = resist2 * iTotal; double e3 = resist3 * iTotal; System.out.println("Tensão no Resistor 1: " + e1 + "V"); System.out.println("Tensão no Resistor 2: " + e2 + "V"); System.out.println("Tensão no Resistor 3: " + e3 + "V"); // mostra as potências dissapadas nos resistores System.out.println("\nPotência dissipada nos resistores individuais:"); double p1 = e1 * iTotal; // Potência = Tensão x Corrente double p2 = e2 * iTotal; double p3 = e3 * iTotal; System.out.println("Potência no Resistor 1: " + p1 + "W"); System.out.println("Potência no Resistor 2: " + p2 + "W"); System.out.println("Potência no Resistor 3: " + p3 + "W"); System.exit(0); } } Ao executar este código Java nós teremos o seguinte resultado: Tensão total: 90.0 Resistência total: 60.0 Corrente total: 1.5 Potência total: 135.0 Tensão nos resistores individuais: Tensão no Resistor 1: 15.0V Tensão no Resistor 2: 30.0V Tensão no Resistor 3: 45.0V Potência dissipada nos resistores individuais: Potência no Resistor 1: 22.5W Potência no Resistor 2: 45.0W Potência no Resistor 3: 67.5W |
Java ::: Dicas & Truques ::: MIDI Musical Instrument Digital Interface, Mapeamento e sequenciamento MIDI, Entrada e saída MIDI |
Java para músicos - Como escrever um MIDI Player em Java (código bem simples e fácil de entender)Quantidade de visualizações: 13881 vezes |
Nesta dica apresento uma aplicação completa para um MIDI Player em Java. Trata-se de uma aplicação console que você pode estudar e implementar a mesma idéia em Java Swing ou JavaFX. Para executar o código abaixo, você só precisa definir o caminho e nome de um arquivo MIDI (extensão .mid). Veja o código completo e divirta-se: ---------------------------------------------------------------------- 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.sound.midi.*; import java.io.*; public class Estudos{ public static void main(String args[]) { // nome do arquivo MIDI String arquivo = "amazing_grace.mid"; if(!arquivo.endsWith(".mid")) { System.out.println("Este não parece ser um arquivo MIDI válido."); System.exit(1); } File midiFile = new File(arquivo); if(!midiFile.exists() || midiFile.isDirectory() || !midiFile.canRead()) { System.out.println("Não foi possível acessar o arquivo indicado."); System.exit(1); } try{ Sequencer seq = MidiSystem.getSequencer(); seq.setSequence(MidiSystem.getSequence(midiFile)); seq.open(); seq.start(); while(true){ if(seq.isRunning()){ try{ Thread.sleep(1000); } catch(InterruptedException ignore){ break; } } else{ break; } } seq.stop(); seq.close(); } catch(MidiUnavailableException mue){ System.out.println("Dispositivo de MIDI indisponível"); } catch(InvalidMidiDataException imde){ System.out.println("Dados MIDI Inválidos"); } catch(IOException ioe){ System.out.println("Erro de I/O"); } } } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercício Resolvido de Java - Usando o laço do...while para pedir ao usuário para informar números inteiros e calcular a quantidade de números positivos, negativos, a soma e a médiaQuantidade de visualizações: 9478 vezes |
Pergunta/Tarefa: Escreva um programa Java que usa o laço do...while para ler números inteiros até que o valor lido seja igual a 0. Em seguida mostre a quantidade de valores positivos e negativos, a soma dos valores e a média aritmética (sem incluir o valor 0 na contagem e no cálculo da média). A média deverá ser exibida como um valor de ponto flutuante. Sua saída deverá ser parecida com a mostrada abaixo: Informe um número inteiro (0 para sair): 5 Informe um número inteiro (0 para sair): -4 Informe um número inteiro (0 para sair): 3 Informe um número inteiro (0 para sair): 8 Informe um número inteiro (0 para sair): -2 Informe um número inteiro (0 para sair): 0 Quantidade de números positivos: 3 Quantidade de números negativos: 2 A soma dos números lidos é: 10 A média aritmética é: 2.0 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 exercicios; import java.util.Scanner; public class Exercicios { public static void main(String[] args) { // vamos fazer a leitura usando a classe Scanner Scanner entrada = new Scanner(System.in); // declaração das variáveis int numero, quantLidos = 0, soma = 0; int quantPositivos = 0, quantNegativos = 0; // laço do...while que repetirá até que o usuário informe o valor 0 do { // lê o primeiro ou próximo número System.out.print("Informe um número inteiro (0 para sair): "); numero = Integer.parseInt(entrada.nextLine()); if(numero > 0){ // o número é positivo? quantPositivos++; } else if(numero < 0){ // o número é negativo? quantNegativos++; } // soma este número à soma já existente soma += numero; // aumenta a contagem dos números lidos if(numero != 0){ // não incluir o 0 para sair do programa na contagem quantLidos++; } } while(numero != 0); // condição de parada do laço if(quantLidos == 0){ System.out.println("Você não informou nenhum número."); } else{ System.out.println("Quantidade de números positivos: " + quantPositivos); System.out.println("Quantidade de números negativos: " + quantNegativos); System.out.println("A soma dos números lidos é: " + soma); System.out.println("A média aritmética é: " + ((soma * 1.0) / quantLidos)); // note a multiplicação de soma por 1.0 para gerar um valor de ponto flutuante // antes da divisão } } } |
Java ::: Dicas & Truques ::: Formatação de datas, strings e números |
Java para iniciantes - Como formatar moeda usando a classe NumberFormat da linguagem JavaQuantidade de visualizações: 19571 vezes |
Este exemplo mostra como formatar moeda usando o método getCurrencyInstance() da classe NumberFormat. Note que, nesse exemplo, nós formatamos um valor double para a moeda brasileira em 2021, a saber, o real. Veja o código completo para a dica: ---------------------------------------------------------------------- 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.text.*; public class Estudos{ public static void main(String[] args){ double valor = 1234567.89; System.out.println("Sem formatação: " + valor); NumberFormat nf = NumberFormat.getCurrencyInstance(); String valorFormatado = nf.format(valor); System.out.println("Formatado: " + valorFormatado); } } Ao executar este código Java nós teremos o seguinte resultado: Sem formatação: 1234567.89 Formatado: R$ 1.234.567,89 |
Java ::: Estruturas de Dados ::: Árvore Binária e Árvore Binária de Busca |
Como percorrer uma árvore binária em Java usando o algorítmo depth-first search (DFS) de forma iterativaQuantidade de visualizações: 988 vezes |
Nesta dica mostrarei como podemos implementar o algorítmo da Busca em Profundidade (DFS, do inglês depth-first search) em Java de forma iterativa, ou seja, sem usar recursão. Não farei a busca, mas sim o percurso, para que você entenda como a lógica dessa busca funciona. Antes de iniciarmos, veja a árvore binária que vamos usar no exemplo: ![]() Note que esta árvore possui seis nós. O nó 5 é o nó raiz, e possui como filhos os nós 4 e 9. O nó 4, por sua vez, possui apenas um filho, o nó 2, ou seja, o filho da esquerda. O nó 9 possui dois filhos: o nó 3 é o filho da esquerda e o nó 12 é o filho da direita. Os filhos da árvore binária que não possuem outros filhos são chamados de folhas. Com a abordagem da busca em profundidade, começamos com o nó raiz e viajamos para baixo em uma única ramificação. Se o nó desejado for encontrado naquela ramificação, ótimo. Do contrário, continuamos subindo e pesquisando por nós não visitados. Esse tipo de busca também tem uma notação big O de O(n). Vamos à implementação? Veja o código para a classe No, que representa um nó na árvore binária: ---------------------------------------------------------------------- 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 ---------------------------------------------------------------------- // implementação da classe No class No{ public int valor; // o valor do nó public No esquerdo; // o filho da esquerda public No direito; // o filho da direita public No(int valor){ this.valor = valor; this.esquerdo = null; this.direito = null; } } Veja agora o código completo para o exemplo. Note que usei uma implementação não-recursiva, na qual todos os nós expandidos recentemente são adicionados a uma pilha, para realizar a exploração. O uso da pilha permite o retrocesso (backtracking) de forma a reiniciarmos o percurso ou busca no próximo nó. Para manter o código o mais simples possível, eu usei a classe Stack do Java, juntamente com seus métodos push() e pop() para simular a pilha. Usei também uma ArrayList para guardar os valores da árvore binária na ordem depth-first. Eis o código: ---------------------------------------------------------------------- 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.ArrayList; import java.util.Stack; // implementação da classe No class No{ public int valor; // o valor do nó public No esquerdo; // o filho da esquerda public No direito; // o filho da direita public No(int valor){ this.valor = valor; this.esquerdo = null; this.direito = null; } } public class Estudos{ public static void main(String[] args){ // vamos criar os nós da árvore No cinco = new No(5); // será a raiz da árvore No quatro = new No(4); No nove = new No(9); No dois = new No(2); No tres = new No(3); No doze = new No(12); // vamos fazer a ligação entre os nós cinco.esquerdo = quatro; cinco.direito = nove; quatro.esquerdo = dois; nove.esquerdo = tres; nove.direito = doze; // agora já podemos efetuar o percurso depth-first ArrayList<Integer> valores = percursoDepthFirst(cinco); System.out.println("Os valores na ordem Depth-First são: " + valores); } public static ArrayList<Integer> percursoDepthFirst(No no){ // vamos usar uma ArrayList para retornar os elementos // na ordem Depth-First ArrayList<Integer> valores = new ArrayList<>(); // vamos criar uma nova instância de uma pilha Stack<No> pilha = new Stack<>(); // já vamos adicionar o primeiro nó recebido, que é a raiz pilha.push(no); // enquanto a pilha não estiver vazia while(pilha.size() > 0){ // vamos obter o elemento no topo da pilha No atual = pilha.pop(); // adicionamos este valor no ArrayList valores.add(atual.valor); // vamos colocar o filho direito na pilha if(atual.direito != null){ pilha.push(atual.direito); } // vamos colocar o filho esquerdo na pilha if(atual.esquerdo != null){ pilha.push(atual.esquerdo); } } return valores; // retorna os valores da árvore } } Ao executarmos este código Java nós teremos o seguinte resultado: Os valores na ordem Depth-First são: [5, 4, 2, 9, 3, 12] Compare estes valores com a imagem vista anteriormente para entender ainda melhor o percurso ou busca Depth-First. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Como usar o laço for para percorrer os elementos de um array e exibí-los na ordem original e invertidosQuantidade de visualizações: 14946 vezes |
Pergunta/Tarefa: Considere o seguinte array de inteiros: // um array de inteiros contendo sete elementos int valores[] = {6, 9, 12, 34, 83, 20, 17}; Seu programa deverá exibir a seguinte saída: Ordem original: 6 9 12 34 83 20 17 Ordem inversa: 17 20 83 34 12 9 6 ---------------------------------------------------------------------- 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 static void main(String[] args){ // um vetor de inteiros contendo sete elementos int valores[] = {6, 9, 12, 34, 83, 20, 17}; // primeiro vamos exibir os valores do vetor na ordem original System.out.println("Ordem original:\n"); for(int i = 0; i < valores.length; i++){ System.out.print(valores[i] + " "); } // agora vamos exibir na ordem inversa System.out.println("\n\nOrdem inversa:\n"); for(int i = valores.length - 1; i >= 0; i--){ System.out.print(valores[i] + " "); } } |
Java ::: Coleções (Collections) ::: ArrayList |
Como inverter a ordem dos elementos de uma ArrayList do Java usando a função reverse() da classe CollectionsQuantidade de visualizações: 14187 vezes |
Nesta dica mostrarei como podemos usar o método estático reverse() da classe Collections para reverter (inverter) a ordem dos elementos de uma ArrayList. Note que este método atua diretamente sobre a ArrayList que estamos fornecendo como argumento, e não retorna nada. Veja o exemplo 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 estudos_java; 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<>(); // 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 inverter a ordem dos elementos Collections.reverse(nomes); // 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); } } Ao executar este código Java nós teremos o seguinte resultado: Carlos Maria Fernanda Osmar Osmar Fernanda Maria Carlos |
Java ::: Dicas & Truques ::: Formulários e Janelas |
Java Swing para iniciantes - Como adicionar componentes à janela do aplicativo Java SwingQuantidade de visualizações: 15994 vezes |
Embora já exista ferramentas de programação que facilitem bastante a construção de interfaces gráficas, principalmente o editor GUI visual do NetBeans, é importante saber como componentes visuais são adicionados à janela da aplicação Java Swing. Veja, por exemplo, a imagem a seguir: ![]() E aqui está o código Java Swing completo a sua criaçã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.awt.*; import javax.swing.*; public class Estudos extends JFrame{ public Estudos() { super("Minha primeira aplicação GUI"); // obtém o painel de conteúdo e adiciona // um botão à janela JButton btn = new JButton("Clique Aqui"); getContentPane().add(btn, BorderLayout.NORTH); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } |
Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira |
Perfil em aço Alguns materiais fazem parte do processo de produção do aço ou até são resultantes de suas variações. Eles apresentam características que diferem entre si. Um desses materiais contém de 3 a 4% de carbono em sua composição. Assinale a alternativa que indica corretamente qual é esse material. A) Aço. B) Aço macio. C) Ferro fundido. D) Ferro forjado. E) Aço de médio carbono. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Ética Empresarial e Profissional: Noções Gerais O termo "moral" vem do latim mores, que quer dizer costumes. Portanto, moral é um conjunto de hábitos e costumes praticados por um grupo. Tais hábitos e costumes são aceitos e incorporados por serem considerados bons. Sobre isso, assinale a alternativa correta. A) Os hábitos, por serem bons, são considerados justos. B) Os hábitos, mesmo sendo maus, podem ser considerados justos. C) Independentemente de serem bons ou maus, os hábitos não alteram as condições de realização das pessoas. D) Considerando que os hábitos bons e justos se tornam imprescindíveis para os indivíduos, eles são convencionados em forma de acordos. E) Considerando que os hábitos bons e justos se tornam dispensáveis para os indivíduos, eles são convencionados em forma de lei. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Turbinas hidráulicas Turbinas hidráulicas têm como principal aplicação a geração de energia, transformando energia cinética da água em energia mecânica, que será posteriormente convertida em energia elétrica. Sobre as turbinas hidráulicas, marque a alternativa correta: A) Uma turbina do tipo Francis apresenta uma baixa eficiência e pode ser operada apenas em baixas vazões. B) Uma turbina do tipo Francis tem eficiência relativamente baixa, porém tem ampla faixa de operação. C) A turbina do tipo Pelton tem um conjunto de pás fixas que podem ajustar o ângulo de entrada da água. D) A turbina do tipo Kaplan foi adaptada a partir da turbina de hélice e pode ser operada em grandes vazões. E) Uma turbina do tipo Pelton tem suas pás em formato de conchas e são operadas em grandes vazões. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Hidrologia |
Assinale a alternativa que apresenta uma justificativa para a importância dos rios: A) A manutenção do equilíbrio ambiental local. B) A disponibilidade somente de água potável. C) A ausência de grandes eventos de inundação. D) O desgaste da superfície das rochas ígneas. E) O aumento da temperatura de forma pontual. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Resistência do concreto Em uma edificação, foi executada a concretagem de um pavimento há exatamente duas semanas. Deseja-se determinar a resistência atingida pelo concreto até o momento, de maneira a verificar a possibilidade de retirada do escoramento para utilização em outro ponto da mesma obra. Para a elaboração deste concreto, foi utilizado um cimento CP II e, como critério de projeto, foi considerado um valor de resistência do concreto aos 28 dias igual a fck = 35 MPa. Com base na NBR 6118/2014 - Projeto de Estruturas de Concreto - Procedimento, determine o valor da resistência de cálculo (fcd) atingida até o momento. A) fcd = 17,5 MPa. B) fcd = 22,5 MPa. C) fcd = 25 MPa. D) fcd = 26,3 MPa. E) fcd = 35 MPa. 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 |
Laravel - Como criar um CRUD completo em Laravel 8 - CRUD em Laravel usando PHP e MySQL (MariaDB) - Parte 2 |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |