Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: ArrayList |
Como encontrar o maior valor em um ArrayList de inteiros usando o laço for - Lista de Exercícios Resolvidos de JavaQuantidade de visualizações: 618 vezes |
Pergunta/Tarefa: Escreva um programa Java contendo um ArrayList de números inteiros, ou seja, objetos Integer. Adicione os elementos [47, 11, 58, 3, 20] a este ArrayList e, em seguida, use o laço for para percorrer todos os elementos da lista e exibir o maior valor encontrado. Sua saída deverá ser parecida com: Os valores na lista são: [47, 11, 58, 3, 20] O maior valor no ArrayList é: 58 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.List; import java.util.ArrayList; public class Estudos{ public static void main(String args[]){ // vamos criar um novo objeto da classe ArrayList List<Integer> valores = new ArrayList<>(); // vamos adicionar 5 valores inteiros na lista valores.add(47); valores.add(11); valores.add(58); valores.add(3); valores.add(20); // vamos mostar os valores na lista System.out.println("Os valores na lista são: " + valores); // agora vamos encontrar o maior valor no ArrayList int maior = valores.get(0); for(int i = 0; i < valores.size(); i++){ if(valores.get(i) > maior){ maior = valores.get(i); } } // mostramos o maior valor System.out.println("O maior valor no ArrayList é: " + maior); } } |
![]() |
Java ::: Projetos Java Completos - Códigos Fonte Completos Java ::: Projetos Java Programação Orientada a Objetos - Exemplos Java |
Simulação de Sistema Bancário usando Programação Orientada a Objetos em Java - Projeto completo com código fonte - Versão consoleQuantidade de visualizações: 16506 vezes |
Sobre este projeto Java Durante estes anos que tenho trabalhado como freelancer, mais da metade das requisições dos meus clientes foram ajuda para desenvolver idéias de programação orientada a objetos em Java para projeto de faculdades e universidades. Com isso percebi que boa parte dos alunos e iniciantes em programação orientada a objetos já entendem toda a teoria. O que lhes falta é prática, ou seja, aplicar estes conhecimentos em aplicações do mundo real. Pensando nisso, apresento a você um projeto muito interessante e que, se bem entendido e praticado, o ajudará a desenvolver qualquer tipo de aplicação, seja comercial ou para solucionar problemas cotidianos. O projeto Java apresentado nesta dica é uma simulação completa de um Sistema Bancário, tudo com código fonte em Java, comentado, com variáveis em português, em um nível médio de programação, para facilitar o entendimento de todos. Nesta simulação nós temos a criação de classes Java, construtores, encapsulamento de dados, agregação e composição, métodos com retorno e sem retorno, variáveis estáticas, variáveis públicas e privadas, e relacionamento entre objetos (um para um, um para muitos, muitos para um) usando ArrayList. Sim, o projeto faz uso extensivo de ArrayList, o que o torna muito rico para o aprendizado e fixação dos conhecimentos da linguagem Java e suas classes principais. O Diagrama de Classes Java Antes de falarmos mais sobre o projeto, dê uma boa olhada no seu diagrama de classes: ![]() Como a aplicação está estruturada? Como podemos ver no diagrama de classes, nós temos uma classe Sistema que contém zero ou vários objetos da classe Banco (relacionamento um para muitos). A classe Banco, por sua vez, possui uma ArrayList de objetos da classe Agência, ou seja, mais um relacionamento um para muitos, já que cada agência pertence a um único banco. Cada agência pode possuir zero ou mais contas, e cada conta possui um ArrayList de objetos da classe Transação, o que nos permite registrar todas as operações nas contas e emitir o extrato bancário, com os débitos, créditos e transferências entre contas. Tudo isso é feito por meio de vários menus de opções, como podemos ver na imagem a seguir: ![]() Devo usar ArrayList do Java para desenvolver o sistema? Sim, objetos da classe ArrayList são perfeitos quando precisamos representar relacionamentos um para muitos e muitos para um. É claro que poderíamos usar vetores de objetos (usando array), mas ficaríamos restritos a tamanhos fixos, enquanto o ArrayList nos permite cadastrar quantos bancos, pessoas, agências e contas quisermos. Dessa forma, veja, por exemplo, o trecho de código que cria um novo banco: switch(opcao){ case 1: // vamos cadastrar um novo banco System.out.print("\nNúmero do Banco: "); String numeroBanco = entrada.nextLine(); System.out.print("Nome do Banco: "); String nomeBanco = entrada.nextLine(); // vamos incrementar o contador de bancos Banco.contadorBancos++; // agora vamos criar um novo objeto da classe Banco Banco b = new Banco(Banco.contadorBancos, nomeBanco, numeroBanco); // e o adicionamos no ArrayList de bancos bancos.add(b); // e finalmente mostramos uma mensagem de sucesso. System.out.println("\nO banco criado com sucesso"); break; Note que este trecho de código é parte do case da opção Novo Banco do menu Gerenciar Bancos. Veja como usamos uma variável estática contadorBancos da classe Banco para criarmos um valor inteiro auto-incremento que nos permite identificadores únicos para cada banco. Veja agora mais um trecho de código muito interessante. Trata-se case 3: // vamos pesquisar uma conta System.out.print("\nId, número ou nome cliente da conta: "); pesquisaConta = entrada.nextLine(); // chamamos o método que pesquisa a conta temp = pesquisarConta(agenciaAtual, pesquisaConta); if(temp == null){ // conta não encotrada System.out.println("\nConta não encontrada na agência."); } else{ // mostra a conta encontrada System.out.println("\nId da conta bancária: " + temp.getId()); System.out.println("Número da conta: " + temp.getNumero()); System.out.println("Cliente: " + temp.getCliente().getNome()); System.out.println("Agência: " + agenciaAtual.getNumero() + " - " + agenciaAtual.getCidade()); System.out.println("Banco: " + bancoAtual.getNumero() + " - " + bancoAtual.getNome()); System.out.println("Saldo atual: " + temp.getSaldo()); System.out.println("Limite atual: " + temp.getLimite()); } break; Viu que código mais lindo? Note como a Programação Orientada a Objetos em Java nos permite desenvolver idéias de forma bem parecida mesmo ao mundo real. O fechamento com chave de ouro O produto final da aplicação Java deverá ser um extrato bancário mostrando os dados da conta escolhida, o histórico de transações com data, tipo da transação e valor, e o saldo atual da conta, com ou sem limite. Veja na imagem abaixo a formatação apresentada (mesmo em modo texto): ![]() Como posso obter este código fonte? Os links para você baixar todas as versões deste projeto estão abaixo: 1) SBJCNB-A - Sistema Bancário em Java com Código Fonte Versão Console - NetBeans IDE - Faça o Download. 2) SBJCNB-B - Sistema Bancário em Java com Código Fonte Versão Console - Lê e salva os dados em arquivo usando serialização (Serializable), ou seja, os métodos readObject() e writeObject() - 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 ::: 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: 4369 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 é: "); exibirInverso(numero); System.out.println("\n"); } // método recursivo que recebe um valor inteiro e o exibe na ordem // inversa public static void exibirInverso(int valor){ // a parada da recursividade é o valor igual a 0 if(valor != 0){ System.out.print(valor % 10); valor = valor / 10; exibirInverso(valor); // efetua uma nova chamada recursiva } } } |
Java ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o diâmetro, a circunferência e a área de um círculo dado o raio em Java - Java para GeometriaQuantidade de visualizações: 2142 vezes |
O círculo é uma figura geométrica plana e que possui quatro características: seu raio, seu diâmetro, sua circunferência e sua área. Aqui já podemos aproveitar e relembrar a diferença entre o círculo e a circunferência. O círculo é o conjunto de pontos resultantes da união entre uma circunferência e seus pontos internos, ou seja, o círculo é a área cuja delimitação é uma circunferência. É importante observar que alguns autores tratam o círculo como uma circunferência. Assim, para estes autores, calcular a circunferência de um círculo equivale a calcular o perímetro da circunferência. Veja a figura a seguir para relembrar o que é o raio de um círculo: ![]() Nesta dica mostrarei como podemos usar Java para calcular o diâmetro, a circunferência e a área de um círculo tendo apenas o raio como informação. Antes, porém, vamos às formulas. Sabendo que r é o raio, temos: \[\text{Diâmetro d} = 2 \times r \] \[\text{Circunferência C} = 2 \times \pi \times r \] \[\text{Área A} = \pi \times r^2 \] Agora vamos ver o código Java que solicita ao usuário que informe o raio do círculo e mostra o diâmetro, a circunferência e a área: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import java.util.Scanner; public class Estudos{ public static void main(String[] args){ Scanner entrada = new Scanner(System.in); // vamos ler o raio do círculo System.out.print("Informe o raio do círculo: "); double raio = Double.parseDouble(entrada.nextLine()); // vamos achar o diâmetro do círculo double diametro = 2 * raio; // agora calculamos a circunferência double circunferencia = 2 * Math.PI * raio; // finalmente calculamos a área do círculo double area = Math.PI * Math.pow(raio, 2); // vamos mostrar os resultados System.out.println("O diâmetro do círculo é: " + diametro); System.out.println("A circunferência do círculo é: " + circunferencia); System.out.println("A área do círculo é: " + area); } } Ao executar este código Java nós teremos o seguinte resultado: Informe o raio do círculo: 10 O diâmetro do círculo é: 20.0 A circunferência do círculo é: 62.83185307179586 A área do círculo é: 314.1592653589793 Lembre-se de que a área é em centímetros quadrados, metros quadrados, etc. |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Códigos Fonte |
![]() 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 |
![]() 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 |