Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Dados - Listas Ligadas |
Como inserir no início de uma lista ligada em Java - Escreva um programa Java que pede para o usuário informar vários - Lista de Exercícios Resolvidos de JavaQuantidade de visualizações: 602 vezes |
Pergunta/Tarefa: Este exercício Java demonstra como inserir um nó no início de uma lista ligada. Escreva um programa Java que cria uma lista ligada, ou seja, uma lista dinamicamente encadeada, e pede para o usuário informar vários valores inteiros, colocando os valores sempre no início da lista. Seu código deverá interromper a leitura dos valores quando o usuário informar o valor -1. Quando isso acontecer, mostre todos os valores contidos na lista ligada, na mesma ordem que foram inseridos (o último valor lido será o primeiro da lista). Sua saída deve ser parecida com: Inserindo valores no início da lista Informe o valor (-1 para sair): 8 Informe o valor (-1 para sair): 2 Informe o valor (-1 para sair): 5 Informe o valor (-1 para sair): 7 Informe o valor (-1 para sair): -1 Valores na lista: 7 -> 5 -> 2 -> 8 -> null Veja a resolução comentada deste exercício usando Java: ---------------------------------------------------------------------- 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; // classe interna usada para representar um // nó na lista ligada class No { int valor; // valor do nó No proximo; // aponta para o novo nó // construtor da classe No No(int valor, No proximo) { this.valor = valor; this.proximo = proximo; } } public class Estudos { public static void main(String args[]){ // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos criar uma referência para o início da lista No inicio = null; // agora vamos pedir para o usuário informar // valores inteiros. O valor -1 sai do laço int valor; System.out.println("Inserindo valores no início da lista\n"); do { System.out.print("Informe o valor (-1 para sair): "); valor = Integer.parseInt(entrada.nextLine()); if (valor != -1) { inicio = inserirInicio(inicio, valor); } } while(valor != -1); // vamos exibir os valores na lista ligada System.out.print("\nValores na lista: "); exibirLista(inicio); } // função que permite adicionar um nó no início da // lista ligada public static No inserirInicio(No inicio, int valor) { // vamos apontar para o nó inicial No atual = inicio; // criamos um novo nó No novo = criarNo(valor); // a lista ligada ainda está vazia? if (atual == null){ // inicio recebe o novo nó inicio = novo; } else { // temos um ou mais nós na lista ligada // vamos inserir este nó antes do nó que // representa o início da lista novo.proximo = inicio; inicio = novo; } // e retornamos o início da lista return inicio; } // função usada para construir e retornar um novo nó public static No criarNo(int valor) { // cria o novo nó No no = new No(valor, null); // retorna o nó criado return no; } // função usada para percorrer a lista ligada e // exibir os valores contidos em seus nós public static void exibirLista(No inicio) { // vamos apontar para o início da lista No temp = inicio; // a lista está vazia? if (temp == null) { System.out.println("A lista está vazia."); } else { // esse laço se repete enquanto tempo for // diferente de null while (temp != null) { // vamos mostrar o valor desse nó System.out.print(temp.valor + " -> "); // avança para o próximo nó temp = temp.proximo; } // mostra o final da lista System.out.println("null"); } } } |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Classes e Componentes ::: JTree |
Java Swing - Como obter o texto do ítem selecionado na JTreeQuantidade de visualizações: 11057 vezes |
Nesta dica veremos como usar o método getLastSelectedPathComponent() da classe JTable do Java Swing para obter o texto do item (nó) selecionado na árvore. Veja como fazemos um cast (conversão) para um objeto da classe DefaultMutableTreeNode antes de podermos acessar o nó retornado. O resultado será igual ao que temos na imagem abaixo: Veja o código Java Swing completo para este 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.*; import javax.swing.tree.*; public class Estudos extends JFrame{ JTree arvore; public Estudos(){ super("Exemplo de uma JTree simples"); DefaultMutableTreeNode raiz = montarArvore(); arvore = new JTree(raiz); JButton btn = new JButton("Obter Texto"); btn.addActionListener( new ActionListener(){ @Override public void actionPerformed(ActionEvent e){ if(!arvore.isSelectionEmpty()){ DefaultMutableTreeNode no = (DefaultMutableTreeNode) arvore.getLastSelectedPathComponent(); JOptionPane.showMessageDialog(null, "Texto do ítem selecionado: " + no.toString(), "JTree", JOptionPane.INFORMATION_MESSAGE); } } } ); Container c = getContentPane(); c.setLayout(new FlowLayout()); JScrollPane scrollPane = new JScrollPane(arvore); c.add(scrollPane); c.add(btn); setSize(400, 300); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } private DefaultMutableTreeNode montarArvore(){ DefaultMutableTreeNode raiz = new DefaultMutableTreeNode("Cidades"); DefaultMutableTreeNode regiao = new DefaultMutableTreeNode("Região"); regiao.add(new DefaultMutableTreeNode("Centro-Oeste")); regiao.add(new DefaultMutableTreeNode("Norte")); regiao.add(new DefaultMutableTreeNode("Sul")); raiz.add(regiao); return raiz; } } |
Java ::: Projetos Java Completos - Códigos Fonte Completos Java ::: Jogos (Games) |
Como criar um Jogo da Velha em Java - Jogo completo com código fonte comentado - Versão consoleQuantidade de visualizações: 6270 vezes |
Faça o download do código-fonte Jogo da Velha em Java Sobre o Jogo da Velha em Java O Jogo da Velha, também conhecido como Tic-Tac-Toe, é um dos joguinhos mais fáceis de se programar em Java. Além disso, ele possibilita uma boa oportunidade de se entender matrizes, a estrutura switch, os laços for e while, assim como a estrutura básica presente em praticamente todos os games. O Jogo da Velha em Java Console Neste código fonte eu demonstro como o Jogo da Velha pode ser criado em Java usando o modo console, ou seja, em formato texto. Penso que o entendimento da lógica é mais fácil em modo console. Uma vez que você tenha aprendido todos os passos envolvidos, você poderá reproduzí-lo em modo gráfico sem muitas dificuldades. A versão do jogo apresentado nesta dica é um jogador humano, ou seja, você, contra o computador. Não coloquei inteligência artificial nem aprendizado de máquina nos movimentos do computador. Usei apenas jogadas sorteadas. Fica como desafio você implementar jogadas inteligentes por parte do computador como forma de deixar o jogo ainda mais interessante. Por enquanto o objetivo é só o aprendizado mesmo. Antes de continuarmos, veja uma imagem demonstrando o jogo: Me mostra um pouco do código Para mostrar a simplicidade do código, veja o método que registra a jogada do jogador humano: // este método registra a jogada do jogador humano private static void jogadaHumano(char[][] tabuleiro) { int jogada; // para registrar a jogada do jogador humano // repete até que a jogada seja válida while (true) { // lê a jogada do humano System.out.print("\nSua jogada (1 a 9): "); jogada = Integer.parseInt(entrada.nextLine()); // este movimento é válido? if (movimentoValido(tabuleiro, jogada)){ break; } else{ // não é válido System.out.println("O número " + jogada + " não é um movimento válido."); } } // vamos registrar esse movimento registrarMovimento(tabuleiro, jogada, 'X'); } Os links para você baixar todas as versões deste projeto estão abaixo: 1) JOGOVELHAJC - Jogo da Velha em Java Console - NetBeans IDE - Faça o Download. Não se esqueça: Uma boa forma de estudar o código é fazendo pequenas alterações e rodando para ver os resultados. Outra opção é começar um projeto Java do zero e ir adicionando trechos do código fonte para melhor entendimento de suas partes. |
Java ::: Coleções (Collections) ::: ArrayList |
Como percorrer os elementos de uma ArrayList do Java usando um IteratorQuantidade de visualizações: 21921 vezes |
Nesta dica mostrarei como é possível usar um iterador Iterator. Um Iterator, do pacote java.util, é um objeto que pode ser usado para percorrer os itens de uma coleção, tais como ArrayList e HashSet. Veja um exemplo no qual temos uma ArrayList genérica de strings. Depois de adicionar três nomes na ArrayList nós usamos um Iterator para percorrer a lista e mostrar os elementos de forma individual: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos_java; import java.util.*; public class Estudos{ public static void main(String[] args){ // cria uma ArrayList que conterá strings ArrayList<String> pessoas = new ArrayList<>(); // adiciona itens na lista pessoas.add("Alberto"); pessoas.add("Victor"); pessoas.add("João"); // exibe os itens da lista usando um Iterator for(Iterator<String> it = pessoas.iterator(); it.hasNext();){ System.out.println(it.next()); } System.exit(0); } } Ao executar este código Java nós teremos o seguinte resultado: Alberto Victor João |
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 |