- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package visao;
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.Random;
- /**
- *
- * @author paulo983
- */
- public class UIExercicio01 {
- public static void main(String[] args) {
- ArrayList numeros = new ArrayList();
- Random r = new Random();
- for(int i = 0; i < 20; i++)
- numeros.add(r.nextInt(1000));
- //Ordem de inserção
- System.out.println(numeros);
- //ordem crescente
- Collections.sort(numeros);
- System.out.println(numeros);
- //ordem reversa
- Collections.reverse(numeros);
- System.out.println(numeros);
- }
- }
Exercício 2: Crie uma classe Conta Bancária contendo os atributos número da conta, nome do cliente e saldo atual. Implemente construtores, getters e setters. Desenvolva aplicações Java que apresente as seguintes funcionalidades:
a) 1 - Incluir (solicitação dos dados de uma conta bancária em um ArrayList);
b) 2 - Listar (objetos armazenados no ArrayList) em ordem alfabética;
c) 3 - Listar (objetos armazenados no ArrayList) em ordem decrescente de saldo atual;
d) 4 - Pesquisar e mostrar informações de um determinado cliente através do númera da conta ou seu nome, utilizando coleções (HashMap).
- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package modelo;
- /**
- *
- * @author paulo983
- */
- public class ContaBancaria implements Comparable<ContaBancaria> {
- private String nrConta;
- private String nomeCliente;
- private double saldoConta;
- public ContaBancaria(String nrConta, String nomeCliente, double saldoConta) {
- this.nrConta = nrConta;
- this.nomeCliente = nomeCliente;
- this.saldoConta = saldoConta;
- }
- public String getNrConta() {
- return nrConta;
- }
- public void setNrConta(String nrConta) {
- this.nrConta = nrConta;
- }
- public String getNomeCliente() {
- return nomeCliente;
- }
- public void setNomeCliente(String nomeCliente) {
- this.nomeCliente = nomeCliente;
- }
- public double getSaldoConta() {
- return saldoConta;
- }
- public void setSaldoConta(double saldoConta) {
- this.saldoConta = saldoConta;
- }
- @Override
- public int compareTo(ContaBancaria outroObjeto) {
- if(this.getNomeCliente().compareTo(outroObjeto.getNomeCliente()) < 0)
- return -1;
- else if(this.getNomeCliente().compareTo(outroObjeto.getNomeCliente()) == 0)
- return 0;
- else
- return 1;
- }
- }
- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package controle;
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.Comparator;
- import java.util.HashMap;
- import modelo.ContaBancaria;
- /**
- *
- * @author paulo983
- */
- public class ControleContaBancaria {
- public static void listaEmOrdemAlfabetica(ArrayList<ContaBancaria> temp){
- Collections.sort(temp);
- System.out.println("Clientes em Ordem Alfabética\n\n");
- for(ContaBancaria c : temp)
- System.out.println(c.getNomeCliente());
- }
- public static void listaEmOrdemSaldoDecrescente(ArrayList<ContaBancaria> temp){
- Comparator<ContaBancaria> compSaldo = new ContaBancariaSaldoCompare();
- Collections.sort(temp,compSaldo);
- System.out.println("Clientes em Ordem Decrescente de Saldo\n\n");
- for(ContaBancaria c : temp)
- System.out.println(c.getNomeCliente()+" - "+c.getSaldoConta());
- }
- public static void consultaContaBancaria(ArrayList<ContaBancaria> temp, String nrConta){
- HashMap<String, String> hmContas = new HashMap<String, String>();
- for(ContaBancaria c : temp)
- hmContas.put(c.getNrConta(), c.getNomeCliente());
- if(hmContas.containsKey(nrConta))
- javax.swing.JOptionPane.showMessageDialog(null, nrConta+" do cliente "+hmContas.get(nrConta),"Mensagem",javax.swing.JOptionPane.INFORMATION_MESSAGE);
- else
- javax.swing.JOptionPane.showMessageDialog(null, nrConta+" não cadastrada!","Mensagem",javax.swing.JOptionPane.INFORMATION_MESSAGE);
- }
- }
- package controle;
- import java.util.Comparator;
- import modelo.ContaBancaria;
- public class ContaBancariaSaldoCompare implements Comparator<ContaBancaria>{
- /*
- * deve retornar número negativo se o1 deve vir antes de o2
- * deve retornar número positivo se o1 deve vir depois de o2
- * deve retornar zero se o1 e o2 forem iguais
- * */
- @Override
- public int compare(ContaBancaria o1, ContaBancaria o2) {
- // TODO Auto-generated method stub
- if(o1.getSaldoConta() < o2.getSaldoConta())
- return -1;
- else if(o1.getSaldoConta() == o2.getSaldoConta())
- return 0;
- else
- return 1;
- }
- }
- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package visao;
- import controle.ControleContaBancaria;
- import java.util.ArrayList;
- import modelo.ContaBancaria;
- /**
- *
- * @author paulo983
- */
- public class UIContaBancaria {
- public static void main(String[] args) {
- ArrayList<ContaBancaria> contas = new ArrayList<>();
- char opc;
- do{
- opc = javax.swing.JOptionPane.showInputDialog("Menu\n\n1-Incluir\n2-Listar ordem alfabética\n3-Listas saldo decrescente\n4-Pesquisa\n5-Sair").charAt(0);
- switch(opc){
- case '1':
- ContaBancaria c = new ContaBancaria(
- javax.swing.JOptionPane.showInputDialog("Nº Conta: "),
- javax.swing.JOptionPane.showInputDialog("Digite o nome: "),
- Double.parseDouble(javax.swing.JOptionPane.showInputDialog("Digite o saldo: "))
- );
- contas.add(c);
- break;
- case '2':
- ControleContaBancaria.listaEmOrdemAlfabetica(contas);
- break;
- case '3':
- ControleContaBancaria.listaEmOrdemSaldoDecrescente(contas);
- break;
- case '4':
- ControleContaBancaria.consultaContaBancaria(contas, javax.swing.JOptionPane.showInputDialog("Nº conta para pesquisa: "));
- break;
- }
- }while(opc != '5');
- }
- }
 
No comments:
Post a Comment