Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Dados - Listas Ligadas |
|
Como inserir um nó em qualquer posição de uma lista ligada em Java - Escreva um programa Java que cria uma lista dinamicamente encadeada - Desafio de Programação Resolvido em JavaQuantidade de visualizações: 530 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que cria uma lista dinamicamente encadeada (lista singularmente encadeada) e pede para o usuário inserir 5 elementos do tipo inteiro. Em seguida peça para o usuário informar um índice e um novo elemento e insira tal elemento no índice informado. Faça a validação dos índices para que ele não saia da faixa permitida. Sua saída deve ser parecida com: Inserindo 5 valores na lista Informe o 1.o valor: 8 Informe o 2.o valor: 2 Informe o 3.o valor: 4 Informe o 4.o valor: 7 Informe o 5.o valor: 3 Valores na lista: 8 -> 2 -> 4 -> 7 -> 3 -> null Inserindo um elemento no índice k Informe o índice desejado: 2 Informe o valor do nó: 9 Valores na lista: 8 -> 2 -> 9 -> 4 -> 7 -> 3 -> null Na saída podemos ver que o índice 2 corresponde ao terceiro elemento da lista ligada. Por isso o valor 4 foi empurrado para a frente para abrir espaço para o valor 9. Se o índice 0 fosse informado, o número 8 seria empurrado para a frente e o nó com valor 9 passaria a ser o início da lista ligada. 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 cheio da classe No public No(int valor, No proximo) { this.valor = valor; this.proximo = proximo; } // construtor vazio da classe No public No() { this.valor = 0; this.proximo = null; } } 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; // vamos inserir 5 valores inteiros na lista ligada int valor; System.out.println("Inserindo 5 valores na lista\n"); for (int i = 0; i < 5; i++) { System.out.print("Informe o " + (i + 1) + ".o valor: "); valor = Integer.parseInt(entrada.nextLine()); // vamos inserir este valor no final da lista inicio = inserirFinal(inicio, valor); } // vamos exibir os valores na lista ligada System.out.print("\nValores na lista: "); exibirLista(inicio); // vamos inserir um novo elemento no índice informado System.out.println("\nInserindo um elemento no índice k\n"); System.out.print("Informe o índice desejado: "); int indice = Integer.parseInt(entrada.nextLine()); // o índice é válido? if ((indice < 0) || (indice > tamanhoLista(inicio) - 1)) { System.out.println("O índice é inválido."); } else { // vamos inserir o novo nó no índice indicado System.out.print("Informe o valor do nó: "); valor = Integer.parseInt(entrada.nextLine()); inicio = inserirIndice(inicio, indice, valor); // vamos exibir os valores na lista ligada System.out.print("\nValores na lista: "); exibirLista(inicio); } } // função que permite adicionar um nó em uma determinada // posição da lista ligada public static No inserirIndice(No inicio, int indice, 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 if (indice == 0) { // o índice é igual a 0? vamos inserir // o nó no início da lista ligada novo.proximo = inicio; inicio = novo; } else { // vamos procurar o local adequado para inserção // primeiro criamos um nó temporário No temp = new No(); // apontamos o nó temporário para o início da lista ...... |
|
Link para compartilhar na Internet ou com seus amigos: | |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de Java - Um método recursivo que recebe um valor inteiro e o exibe na ordem inversaQuantidade de visualizações: 4195 vezes |
Pergunta/Tarefa: Escreva um método recursivo que recebe um valor inteiro (com qualquer quantidade de dígitos) e o exibe na ordem inversa. Se o método receber o valor 467, o valor inverso será 764. Seu método deverá possuir a seguinte assinatura: public static void exibirInverso(int valor){ // sua implementação aqui } Sua saída deverá ser parecida com: Informe um valor inteiro: 932 O valor invertido é: 239 Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package exercicio; import java.util.Scanner; public class Exercicio{ public static void main(String[] args) { // cria um novo objeto da classe Scanner Scanner entrada = new Scanner(System.in); // solicita um valor inteiro ao usuário System.out.print("Informe um valor inteiro: "); // lê o valor informado int numero = Integer.parseInt(entrada.nextLine()); // exibe o valor na ordem invertida System.out.print("O valor invertido é: "); ...... |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como inverter uma string em Java usando o método reverse() da classe StringBufferQuantidade de visualizações: 22447 vezes |
Nesta dica mostrarei como podemos usar o método reverse() da classe StringBuffer ou StringBuilder para inverter a ordem dos caracteres de uma palavra, frase ou texto em Java. Note como convertemos uma String em um StringBuffer, fazemos a inversão da frase e depois convertemos novamente o StringBuffer em um objeto String. Veja 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 estudos; public class Estudos { public static void main(String[] args){ // vamos criar uma string String frase = "JAVA É BOM DEMAIS"; // vamos mostrar a frase original System.out.println("String original: " + frase); // agora vamos criar um objeto StringBuffer ...... Ao executar este código Java nós teremos o seguinte resultado: String original: JAVA É BOM DEMAIS String invertida: SIAMED MOB É AVAJ |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Declarar e construir um vetor de inteiros e usar um laço for para inicializar seus elementos com os valores de 1 até 10 em JavaQuantidade de visualizações: 17087 vezes |
Pergunta/Tarefa: Escreva um programa Java que declara e constrói um array de 10 elementos do tipo int. Em seguida use um laço for para inicializar os elementos com os valores de 1 até 10. Para finalizar exiba os valores dos elementos do vetor na vertical. Seu programa deverá exibir a seguinte saída: 1 2 3 4 5 6 7 8 9 10 A resolução desta tarefa passa pela declaração e construção do array. Aqui eu demonstro como isso pode ser feito em dois passos. Primeiro a declaração e depois a construção: // vamos declarar um vetor de 10 ints int valores[]; // vamos construir o vetor...neste momento seus elementos // terão, todos, o valor 0 valores = new int[10]; Veja a resolução completa do exercício: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public static void main(String[] args){ // vamos declarar um array de 10 ints int valores[]; // vamos construir o array...neste momento seus elementos // terão, todos, o valor 0 valores = new int[10]; // vamos usar o laço for para inicializar seus elementos // com os valores de 1 até 10 for(int i = 0; i < valores.length; i++){ ...... |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções |
Métodos - Exercícios Resolvidos de Java - Ex. 3 - Um método estático que recebe um número inteiro e retorna true se ele for par e false em caso contrárioQuantidade de visualizações: 3080 vezes |
Pergunta/Tarefa: Escreva um método Java que recebe um número inteiro e retorna true se o número for par e false em caso contrário. Este método deverá ter a seguinte assinatura: public static boolean isPar(int n){ // 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 com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- 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 um número inteiro System.out.print("Informe um número inteiro: "); int numero = Integer.parseInt(entrada.nextLine()); // vamos verificar se o número informado e par if(isPar(numero)){ System.out.println("O número informado é par"); ...... |
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: 10952 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 com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- 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"}; ...... 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. |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Delphi - Como usar o Delphi para verificar se um determinado processo do Windows está sendo executado VB.NET - Como comparar strings em VB.NET usando o método Compare() da classe String do .NET Framework |
Quem Somos |
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
|
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..
|
Linguagens Mais Populares |
1º lugar: Java |
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 |