Exercicio - Conta de Banco

6 respostas
B

Ola, sou iniciante em Java (mais especificamente em orientaçao a objetos), recebi um exercicio que eu tenho que cadastrar 10 contas em um array, cada conta tera um saldo e seu tipo. O tipo de conta determina o valor maximo que se pode sacar. Havera 3 tipos de contas, eu gostaria de fazer ele usando herança. Alguen poderia me dar uma ajuda e explicar o que foi feito? Aqui o código:

Agencia.java
package bancos;

import java.util.Scanner;

public class Agencia {

	Conta[] conta = new Conta[10];

	public static void main(String[] args) {
		Agencia agencia = new Agencia();
		agencia.menu();
	}

	public void menu() {
		System.out.println("..:: Sistema Bancário::..");
		int opcao = Console
				.leInt("(1)Cadastrar\t (2)Sacar\t (3)Depositar\t (4)Ver Saldo\t (5)Sair");
		switch (opcao) {
		case 1:
			cadastrar();
			menu();
			break;
		case 2:		

			menu();
			break;
		case 3:
		case 4:
			verSaldo();
			menu();
		default:
			break;
		}
	}

	public void cadastrar() {
		String numeroConta = Console.leString("Digite o Numero da Conta");
		double saldo = Console.leDouble("Digite o Saldo");
		Conta c = new Conta(numeroConta, saldo);
		for (int i = 0; i < conta.length; i++) {
			if (conta[i] == null) {
				conta[i]=c;
				break;
			}
		}
	}

	public Conta acharConta(String numeroConta) {
		for (int i = 0; i < conta.length; i++) {
			Conta c = conta[i];
			System.out.println("1 numeroConta: "+ c.getNumeroConta());
			System.out.println("2 numeroConta: "+ numeroConta);
			if (c.getNumeroConta().equals(numeroConta)) {
				return c;
			}
		}
		return conta[0];
	}
	
	public void verSaldo(){
		String numeroConta = Console.leString("Digite o Numero da Conta");
		double saldo = acharConta(numeroConta).getSaldo();
		System.out.println(saldo);
	}
	
}
Conta.java
package bancos;

public class Conta {
	private String numeroConta;
	private double saldo;
	public Conta(String numeroConta, double saldo){
		this.numeroConta = numeroConta;
		this.saldo = saldo;
	}

	public String getNumeroConta() {
		return numeroConta;
	}

	public void setNumeroConta(String numeroConta) {
		this.numeroConta = numeroConta;
	}

	public double getSaldo() {
		return saldo;
	}

	public void setSaldo(double saldo) {
		this.saldo = saldo;
	}
	
	
}
Console.java
package bancos;
import java.util.Scanner;

public class Console {

	public static String leString(String pMensagem) {
		System.out.println(pMensagem);
		Scanner c = new Scanner(System.in);
		return c.nextLine();
	}

	public static double leDouble(String pMensagem) {
		System.out.println(pMensagem);
		Scanner c = new Scanner(System.in);
		return c.nextDouble();
	}

	public static int leInt(String pMensagem) {
		System.out.println(pMensagem);
		Scanner c = new Scanner(System.in);
		return c.nextInt();
	}	
	
	public static int leTipo(String pMensagem) {
		System.out.println(pMensagem);
		Scanner tipo = new Scanner(System.in);
		return tipo.nextInt();
	}

}

Obrigado desde ja.

6 Respostas

Poneis123

Cara, vc ta querendo que a gente te explique esse código todo? posta suas dúvidas pontuais…

B

nao pedi o codigo todo, perguntei como eu faço para fazer 3 tipos de contas, no caso seria criar 3 novas classes (para cada tipo de conta), o tipo de conta apenas ira definir o limite do saque.

Poneis123

Foi isso q vc pediu…

Mas assim, se as contas são iguais e só muda o tipo pra ter essa diferença de limite do saque… vc cria 1 unica classe com um atributo Tipo… ai sua aplicação olha qual o tipo da conta e faz essa validação do limite do saque

B

Foi isso q vc pediu…

Mas assim, se as contas são iguais e só muda o tipo pra ter essa diferença de limite do saque… vc cria 1 unica classe com um atributo Tipo… ai sua aplicação olha qual o tipo da conta e faz essa validação do limite do saque

Sou meio novo em orientação a objeto, costumava trabalhar com C, parei de programar por alguns anos e recomecei em java por tanto tenho algumas dificuldados com o termo atributo, eu poderia fazer um atributo que seja uma variavel?

Ps: A parte que voce citou, eu me referia a explicar oq foi adicionado ao codigo que mostrei e nao o codigo em si :slight_smile:

Poneis123

Ah blz…

Então, o atributo de uma classe é uma variavel.

vc teria lá uma classe Conta e um atributo(variavel) do tipo String para representar o tipo da conta.

B

Poneis123:
Ah blz…

Então, o atributo de uma classe é uma variavel.

vc teria lá uma classe Conta e um atributo(variavel) do tipo String para representar o tipo da conta.

Blz, vlw, vo tentar isso

Criado 7 de abril de 2010
Ultima resposta 7 de abr. de 2010
Respostas 6
Participantes 2