Olá, boa tarde. Iniciei recentemente os estudos em Java. Estou com dúvida em um exercício de banco. Com 1 classe abstrata Contas + 2 classes Conta Corrente e Conta Poupança e Classe Banco com método main. Consegui executar todos os métodos, menos o “Resgatar” que é para transferir valores da poupança para conta corrente.
package bancofuctura;
public abstract class Contas {
public int numConta;
private String titular;
private double saldoContaCorrente;
private double saldoContaPoupanca;
public void DadosConta () {
System.out.println ("------- Dados da Conta ---------");
System.out.println ("Número da conta : " + this.numConta);
System.out.println ("Nome do Titular : " + this.titular);
System.out.println("Saldo da Conta Corrente : " + this.saldoContaCorrente);
System.out.println ("Saldo da Conta Poupança : " + this.saldoContaPoupanca);
}
public void Depositar (double valor) {
System.out.println ("------- Realizando Depósito------- ");
System.out.println ("Saldo Anterior : R$ " + this.saldoContaCorrente);
this.saldoContaCorrente += valor;
System.out.println ("Seu Saldo agora é : R$ " + this.saldoContaCorrente);
}
public String getTitular() {
return titular;
}
public void setTitular(String titular) {
this.titular = titular;
}
public double getSaldoContaCorrente() {
return saldoContaCorrente;
}
public double getSaldoContaPoupanca() {
return saldoContaPoupanca;
}
public void setSaldoContaPoupanca(double saldoContaPoupanca) {
this.saldoContaPoupanca = saldoContaPoupanca;
}
public void setSaldoContaCorrente(double saldoContaCorrente) {
this.saldoContaCorrente = saldoContaCorrente;
}
}
package bancofuctura;
public class CCorrente extends Contas {
public void Sacar (double valor) {
System.out.println ("------- Realizando Saque------- ");
System.out.println ("Saldo Anterior : R$ " + this.getSaldoContaCorrente());
if (valor <= this.getSaldoContaCorrente()) {
setSaldoContaCorrente(getSaldoContaCorrente() - valor);
System.out.println ("Seu Saldo agora é : R$ " + this.getSaldoContaCorrente());
} else {
System.out.println("Saldo Insuficiente");
}
}
public void Aplicar (double valor) {
System.out.println ("------- Realizando Aplicação------- ");
System.out.println ("Saldo Anterior na Conta Poupança : R$ " + this.getSaldoContaPoupanca());
if (valor <= this.getSaldoContaCorrente()) {
setSaldoContaPoupanca (getSaldoContaPoupanca ()+ valor);
setSaldoContaCorrente (getSaldoContaCorrente ()- valor);
System.out.println ("Saldo na Conta Poupança agora é de : R$ " + this.getSaldoContaPoupanca());
} else {
System.out.println ("Saldo Insuficiente");
}
}
}
package bancofuctura;
public class CPoupanca extends Contas{
public void resgatar (double valor) {
System.out.println ("------- Realizando Regate ------- ");
System.out.println ("Saldo Anterior na Conta Corrente é : R$ " + this.getSaldoContaCorrente());
if (valor <= this.getSaldoContaCorrente()) {
setSaldoContaCorrente(getSaldoContaCorrente() - valor);
setSaldoContaPoupanca(getSaldoContaPoupanca()+ valor);
System.out.println ("Seu Saldo na Conta Corrente agora é : R$ " + this.getSaldoContaCorrente());
} else {
System.out.println ("Saldo Insuficiente");
}
}
}
package bancofuctura;
import java.util.Scanner;
public class Banco {
public static void main(String[] args) {
CCorrente cc = new CCorrente ();
CPoupanca cp = new CPoupanca ();
cc.numConta =0;
cc.numConta=0;
int depositoInici = 0;
Scanner scan = new Scanner (System.in);
System.out.println ("------ Bem vindo ao Banco Fuctura ------");
System.out.println (" ** Vamos iniciar o cadastro de sua conta ** ");
System.out.println ("Digite o seu nome");
String nome = scan.nextLine();
System.out.println ("Digite o número de sua conta : ");
int numConta = scan.nextInt ();
System.out.println ("Você gostaria de fazer um depósito inicial ? Digite 1 para -SIM- ou 2 para -NÃO-");
int num1 = scan.nextInt ();
if (num1 == 1) {
System.out.println ("Digite o valor desejado para o primeiro depósito");
depositoInici = scan.nextInt ();
}
if (num1 == 2) {
System.out.println (" ");
}
System.out.println ("Obrigada, sua conta já foi cadastrada e seu Saldo Inicial é : R$ " + depositoInici);
cc.setSaldoContaCorrente(depositoInici);
cc.setTitular(nome);
cp.setTitular(nome);
cc.numConta = numConta;
cp.numConta = numConta;
int op;
do {
System.out.println ("|*************************************************************************| ");
System.out.println ("| -----------------Bem vindo ao Banco Fuctura----------------- |");
System.out.println ("| 1) Dados Bancários |" );
System.out.println ("| 2) Depósito |");
System.out.println ("| 3) Saque |");
System.out.println ("| 4) Aplicação na Conta Poupança |");
System.out.println ("| 5) Resgatar - Transferir valores da Conta Poupança para Conta Corrente |");
System.out.println ("| 6) Saldo Conta Corrente |");
System.out.println ("| 7) Saldo Conta Poupança |");
System.out.println ("| 0) Sair |");
System.out.println ("|*************************************************************************| ");
System.out.println (" Digite o número correspondente a opção desejada");
op = scan.nextInt ();
if (op ==1) {
cc.DadosConta();
}else if ( op==2) {
System.out.println ("Digite o valor do depósito: ");
double valor = scan.nextDouble();
cc.Depositar(valor);
}else if (op==3) {
System.out.println ("Digite o valor do saque: ");
double valor1 = scan.nextDouble();
cc.Sacar(valor1);
}else if (op==4) {
System.out.println ("Digite o valor desejado para aplicação na Conta Poupança: ");
double valor2 = scan.nextDouble();
cc.Aplicar(valor2);
}else if (op==5) {
System.out.println ("Digite o valor desejado para Resgatar: ");
double valor3 = scan.nextDouble();
cp.resgatar(valor3);
}else if (op==6) {
System.out.println ("R$" + cc.getSaldoContaCorrente());
}else if (op==7) {
System.out.println ("R$" + cc.getSaldoContaPoupanca());
}
} while (op!=0);
scan.close();
}
}