Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Dados - Listas Ligadas |
Como remover no início de uma lista ligada em Java - Escreva um programa Java que cria uma lista dinamicamente encadeada - Exercícios Resolvidos de JavaQuantidade de visualizações: 323 vezes |
Pergunta/Tarefa: Escreva um programa Java que cria uma lista dinamicamente encadeada (lista singularmente encadeada) e peça para o usuário inserir 5 elementos do tipo inteiro. Em seguida faça a remoção do nó no início da lista ligada e retorne o seu valor. Sua saída deve ser parecida com: Inserindo 5 valores na lista Informe o 1.o valor: 3 Informe o 2.o valor: 8 Informe o 3.o valor: 4 Informe o 4.o valor: 7 Informe o 5.o valor: 6 Valores na lista: 3 -> 8 -> 4 -> 7 -> 6 -> null Removendo no início da lista O nó removido foi: 3 Valores na lista novamente: 8 -> 4 -> 7 -> 6 -> null Na saída podemos ver que a lista contém os valores 3, 8, 4, 7 e 6. Depois que o nó no início é removido, os elementos da lista ficam 8, 4, 7 e 6. 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 { // vamos criar uma referência para o início da lista static No inicio = null; public static void main(String args[]){ // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // 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 inserirFinal(valor); } // vamos exibir os valores na lista ligada System.out.print("\nValores na lista: "); exibirLista(); // vamos remover o nó no início da lista ligada System.out.println("\nRemovendo no início da lista"); No removido = removerInicio(); System.out.println("O nó removido foi: " + removido.valor); // vamos exibir os valores na lista ligada System.out.print("\nValores na lista novamente: "); exibirLista(); } // função que permite remover o nó no início de uma lista // dinamicamente ligada em Java public static No removerInicio() { // primeiro apontamos para o início da lista No no = inicio; // a lista está vazia? if (no != null) { // o início da lista aponta para o seu próximo inicio = inicio.proximo; } // retorna o nó removido ou null no caso da lista vazia return no; } // função que permite adicionar um nó no final da // lista ligada public static void inserirFinal(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 localizar o último nó while (atual.proximo != null) { atual = atual.proximo; } // encontramos o último nó. Agora vamos inserir // o novo nó depois dele atual.proximo = novo; } } // 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() { // 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: |
JavaScript ::: Elementos de Formulários HTML ::: input type file Element/Object |
Como obter a quantidade de arquivos que o usuário selecionou em um input type fileQuantidade de visualizações: 3862 vezes |
Em algumas situações nós precisamos saber quantos arquivos o usuário selecionou em um elemento input type file. Para isso podemos usar a propriedade length do FileList que representa a lista de arquivos no input file. Veja o exemplo a seguir:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Estudos JavaScript</title> </head> <body> <form> <input id="arquivo" onChange="contarArquivos()" name="arquivo" multiple type="file"> </form> <script type="text/javascript"> function contarArquivos(){ // vamos obter uma referência ao elemento file var arquivo = document.getElementById("arquivo"); // agora vamos obter a quantidade de arquivos que o usuário selecionou var quantArquivos = arquivo.files.length; // mostramos o resultado window.alert("Você selecionou " + quantArquivos + " arquivos."); } </script> </body> </html> Note que tiramos proveito do evento onChange() do input file para obter a informação desejada no exato momento que o usuário escolhe o(s) arquivos(s). Neste exemplo eu criei um input file multiple, ou seja, o usuário pode escolher mais de um arquivo por vez (em geral pressionando a tecla Ctrl para múltiplas seleções). |
PHP ::: PHP + MySQL ::: MySQL Improved Extension (mysqli) |
Listando todas as tabelas da base de dados selecionada - Como listar as tabelas de uma base de dados MySQL usando PHP - RevisadoQuantidade de visualizações: 11900 vezes |
O comando DML SHOW TABLES do MySQL permite listar todas as tabelas de um determinado banco de dados. Nesta dica eu mostro como escrever um código PHP que dispara este comando e mostra o resultado. Note que estou usando a extensão mysqli, recomendada a partir do PHP 5.6. Veja o código completo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <? // vamos efetuar a conexão com o banco $con = new mysqli("localhost", "root", "osmar1234", "estudos"); // conexão efetuada com sucesso? if($con->connect_errno){ echo "Não foi possível efetuar a conexão: " . $mysqli->connect_error; exit(); // vamos sair daqui } // lista todas as tabelas da base selecionada $query = mysqli_query($con, "SHOW TABLES"); while($result = mysqli_fetch_array($query)){ echo $result[0] . "<br>"; } ?> Esta dica foi revisada, atualizada e testada no PHP 8. |
PHP ::: Boletos Bancários, Arquivos de Remessa e Retornos do Banco ::: Caixa Econômica Federal - Banco 104 |
Boleto Bancário PHP - Como calcular o Dígito Verificador do Nosso Número (Módulo 11) - Boleto Caixa EconômicaQuantidade de visualizações: 2556 vezes |
Nesta dica mostrarei, passo-a-passo, como calcular o Dígito Verificador do Nosso Número para o boleto e arquivos de remessa da Caixa Econômica Federal (Banco 104). O Nosso Número é o número de identificação do título no Banco. Este número deve ser único nos seus sistemas, pois, sua combinação com o código do cedente o torno único também no sistema bancário. Além disso, é o Nosso Número que permite ao Banco e a empresa identificar os dados da cobrança que deram origem ao bloqueto. Na Especificação do Código de Barras para Bloquetos de Cobrança Sem Registro e Registrada no SIGCB (67.119 v005 micro), o Nosso Número é composto de 17 posições, sendo as 02 posições iniciais para identificar a Carteira e as 15 posições restantes são para livre utilização pelo Cedente. Seu formato é XYNNNNNNNNNNNNNNN-D, onde: a) X = Modalidade/Carteira de Cobrança (1-Registrada/2-Sem Registro); b) Y = Emissão do bloqueto (4-Cedente); c) NNNNNNNNNNNNNNN = Nosso Número (15 posições livres do Cedente); d) D = Dígito Verificador do Nosso Número calculado através do Modulo 11, conforme código que mostrarei a seguir. Nos boletos e arquivos de remessa da Caixa, o Dígito Verificador do Nosso Número admite 0 (zero), diferentemente do DV Geral do Código de Barras (que também mostro como calcular em dicas dessa seção). O cálculo que mostrarei a seguir é baseado no Módulo 11 e está de acordo com as instruções do Manual de Leiaute de Arquivo Eletrônico Padrão CNAB 240 - Cobrança Bancária Caixa - SIGCB - Versão 67.118 v024 micro e Especificação do Código de Barras para Bloquetos de Cobrança Sem Registro e Registrada no SIGCB (67.119 v005 micro). Tenha certeza de verificar sua versão do manual antes de usar o código apresentado. Dito isso, veja o código PHP completo para uma função que recebe o Nosso Número e retorna seu dígito verificador: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <?php // função que recebe o nosso número // e retorna o seu dígito verificador function dvNossoNumero($nossoNumero){ // o nosso número possui mais que 17 dígitos? if(strlen($nossoNumero) > 17){ die("O Nosso Número não pode ter mais que 17 dígitos."); } // agora vamos definir os índices de multiplicação $indices = "29876543298765432"; // e aqui a soma da multiplicação coluna por coluna $soma = 0; // fazemos a multiplicação coluna por coluna agora for($i = 0; $i < strlen($nossoNumero); $i++){ $soma = $soma + ((int)($nossoNumero[$i])) * ((int)($indices[$i])); } // obtemos o resto da divisão da soma por onze $resto = $soma % 11; // subtraímos onze pelo resto da divisão $digito = 11 - $resto; // atenção: Se o resultado da subtração for // maior que 9 (nove), o dígito será 0 (zero) if($digito > 9){ $digito = 0; } return $digito; } // vamos calcular o Dígito Verificador do // Nosso Número $carteira = "1"; // $emissao = "4"; // cedente $nossoNumero = "19"; // preenche com zeros até completar 15 posições $nossoNumero = sprintf("%015d", $nossoNumero); $nossoNumeroCompleto = $carteira . $emissao . $nossoNumero; $digito = dvNossoNumero($nossoNumeroCompleto); echo "O dígito verificador para o nosso número " . $nossoNumeroCompleto . " é: " . $digito; ?> Ao executar este código PHP nós teremos o seguinte resultado: O dígito verificador para o nosso número 14000000000028288 é: 5 |
Firebird ::: Dicas & Truques ::: Strings e Caracteres |
Como substituir valores em campos CHAR ou VARCHAR usando a função REPLACE() do FirebirdQuantidade de visualizações: 15408 vezes |
A função REPLACE() do Firebird pode ser usada quando queremos substituir valores no conteúdo de um campo do tipo CHAR ou VARCHAR. Veja um exemplo de um comando SQL DML SELECT FROM no qual usamos a função REPLACE() para substituir todos os espaços por sublinhados (underline) em um campo chamado NOME de uma tabela CLIENTES:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- SELECT REPLACE(NOME, ' ', '_') FROM CLIENTES WHERE ID = 1; Esta query exibirá o seguinte resultado: REPLACE OSMAR_J._SILVA |
Python ::: Dicas & Truques ::: Lista (List) |
Curso completo de Python - Como obter a quantidade de itens em uma lista PythonQuantidade de visualizações: 8559 vezes |
Nesta dica mostrarei como podemos usar a função len() da linguagem Python para obtermos a quantidade de itens em um objeto List. Não deixe de ver outros exemplos de List nesta mesma seção. Veja o código Python completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- def main(): # cria uma lista de nomes nomes = ['Carlos', 'Ricardo', 'Osmar'] # obtém a quantidade de elementos na lista print("A lista contém %d itens" % len(nomes)) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: A lista contém 3 itens |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
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 |