Pessoal não estou conseguindo enviar os valores de crédito, débito e transferência com os objetos (doCredito, doDebito e doTransferencia) para a classe conta e efetuar as operações, além do que não enxergo como utilizar o getSaldo… o mais próximo que consegui foi como mostrado abaixo, mas isso não é o ideal… alguém pode mostrar como posso fazer? Estou muito perdido :roll: e obrigatoriamente tenho que seguir essa estutura.
Agradeço a ajuda
Conta
saldo: float
- Conta()
- Conta(float)
- setSaldo(float)
- getSaldo(): float
- doCredito(float)
- doDebito(float)
- doTransferencia(Conta, float)
Poupanca
- Poupanca(float)
- doCorrecao(float)
CLASSE TesteConta
[code]import java.util.Scanner;
class TesteConta
{
public static void main(String[] args)
{
Conta CC1 = new Conta();
Conta CC2 = new Conta();
Poupanca CP = new Poupanca();
Scanner in = new Scanner(System.in);
System.out.println(" Qual o saldo CC1: ");
CC1.setSaldo(in.nextLine());
System.out.println(" Qual o saldo da CC2: ");
CC2.setSaldo(in.nextLine());
System.out.println(" Qual o saldo da CP: ");
CP.setSaldo(in.nextLine());
System.out.println(" Creditado 300 - Saldo de CC1: " + (CC1.doCredito() + 300));
System.out.println(" Debitado 200 - Saldo de CC2: " + (CC2.doDebito() - 200));
CC1.setSaldo(Float.toString(CC1.doCredito() + 300));
System.out.println(" Transferido 400 de CC1 para CC2 - Saldo de CC2: " + (CC1.doTransferencia()));
System.out.println(" Saldo corrigido da poupanca: " + CP.doCorrecao());
}
}[/code]
CLASSE Conta
[code]class Conta
{
protected String saldo;
public Conta(String _saldo)
{
saldo = _saldo;
}
public Conta(){}
public void setSaldo(String _saldo)
{
Float.parseFloat(_saldo);
saldo = _saldo;
}
public float doCredito()
{
return Float.parseFloat(saldo);
}
public float doDebito()
{
return Float.parseFloat(saldo);
}
public float doTransferencia()
{
return Float.parseFloat(saldo);
}
}[/code]
Classe Poupança
[code]class Poupanca extends Conta
{
public Poupanca(String _saldo)
{
super(_saldo);
}
public Poupanca(){}
public float doCorrecao()
{
return Float.parseFloat(super.saldo) * 1.065f;
}
}[/code]
Brow … porque vc usa um saldo String ?
enfim … está gerando um erro ? sim ?? posta ele aqui…
– ahh está funcionando assim mais vc quer ele melhor bom vamos ver ^^
class Conta
{
private float saldo;
public Conta(){}
public Conta(float _saldo){
saldo = _saldo;
}
public void setSaldo(float _saldo){
saldo = _saldo;
}
public float doCredito(){
//acredito que esse metodo é seja para adicionar valor no saldo seria algo como saldo = saldo + valor; valor é o valor que sera adicionado
//seria assim: doCredito(float valor);
return saldo;
}
public float doDebito(){
//aqui seria quando o usuario gasta ....então seria algo como saldo = saldo - valor; valor é o valor que sera retirado da conta
//seria assim: doDebito(float valor);
return saldo;
}
public float doTransferencia(){
//aqui acredito que o vc precise passar uma conta para fazer a transferencia ... acho q vc precisa mudar esse método algo como
//public void doTransferencia(Conta cc, float valor)
// e passar o valor desta conta para a conta que vem como parametro e o valor transferido
return saldo;
}
}
–edit segue as outras classes para te ajudar
class Poupanca extends Conta
{
public Poupanca(String _saldo){
//primeiro modifique a chamada desse construtor para public Poupanca(float _saldo)
super(_saldo);
}
public Poupanca(){}
public float doCorrecao(){
return getSaldo() * 1.065f; //nessa hora que vc vai usar o getSaldo() ta vendo ... ele vai te retornar o saldo atual da conta...
//acredito tambem que esse processo tem q ser setando o saldo atual da poupança
//vc precisa fazer assim ..... setSaldo(getSaldo()*1.065f); //que seria algo como saldo = saldo * juros;
}
}
import java.util.Scanner;
class TesteConta{
public static void main(String[] args){
//variaveis com a primeira minuscula (praticas de programação)
Conta cC1 = new Conta();
Conta cC2 = new Conta();
Poupanca cP = new Poupanca();
Scanner in = new Scanner(System.in);
System.out.println(" Qual o saldo CC1: ");
cC1.setSaldo(in.nextLine()); //se não me engano tem um in.nextFloat() use ele no lugar do nextLine()
System.out.println(" Qual o saldo da CC2: ");
cC2.setSaldo(in.nextLine()); //se não me engano tem um in.nextFloat() use ele no lugar do nextLine()
System.out.println(" Qual o saldo da CP: ");
cP.setSaldo(in.nextLine()); //se não me engano tem um in.nextFloat() use ele no lugar do nextLine()
System.out.println(" Creditado 300 - Saldo de CC1: " + (cC1.doCredito(300f))); //aqui vc passa o valor que vc quer creditar na conta
System.out.println(" Debitado 200 - Saldo de CC2: " + (cC2.doDebito(200f))); //aqui vc passa o valor que vc quer debitar na conta o f serve para mudar o 200 de int para float
System.out.println(" Transferido 400 de CC1 para CC2 - Saldo de CC2: " + (cC1.doTransferencia(cC2, 400f))); //aqui vc passa a conta que vc quer transferir e o valor q será transferido
System.out.println(" Saldo corrigido da poupanca: " + cP.doCorrecao()); //por final a correção da poupança.
}
}
no diagrama que vc passou não pede o retorno do saldo nos métodos mais é até interessante deixar com o retorno.
Obs.: algumas coisas só expliquei ou seja vc precisa terminar o codigo
ESTUDE MUITOOOOOO
Abraço!
Consegui finalizar o projeto :D, segue código…
Obrigado pela ajuda!!! :thumbup:
[code]import java.util.Scanner;
class TesteConta
{
public static void main(String[] args)
{
Conta cC1 = new Conta();
Conta cC2 = new Conta();
Poupanca cP = new Poupanca();
Scanner in = new Scanner(System.in);
System.out.println(" --------------- cC1 --------------- ");
System.out.println(" Qual o saldo cC1: ");
cC1.setSaldo(in.nextFloat());
System.out.println(" + Creditar em cC1: ");
cC1.doCredito(in.nextFloat());
System.out.println(" ++ Saldo atual de cC1: " + cC1.getSaldo());
System.out.println(" - Debitar em cC1: ");
cC1.doDebito(in.nextFloat());
System.out.println(" -- Saldo atual de cC1: " + cC1.getSaldo());
System.out.println(" ");
System.out.println(" --------------- cC2 --------------- ");
System.out.println(" Qual o saldo da cC2: ");
cC2.setSaldo(in.nextFloat());
System.out.println(" + Creditar em cC2: ");
cC2.doCredito(in.nextFloat());
System.out.println(" ++ Saldo atual de cC2: " + cC2.getSaldo());
System.out.println(" - Debitar em cC2: ");
cC2.doDebito(in.nextFloat());
System.out.println(" -- Saldo atual de cC2: " + cC2.getSaldo());
System.out.println(" ");
System.out.println(" --------------- cP --------------- ");
System.out.println(" Qual o saldo da cP: ");
cP.setSaldo(in.nextFloat());
System.out.println(" + Creditar em cP: ");
cP.doCredito(in.nextFloat());
System.out.println(" ++ Saldo atual de cP: " + cP.getSaldo());
System.out.println(" $ Correção monetária de 0,65% em cP ");
cP.doCorrecao(cP.getSaldo());
System.out.println(" $$ Saldo atual de cP: " + cP.getSaldo());
System.out.println(" ");
System.out.println(" - Debitar em cP: ");
cP.doDebito(in.nextFloat());
System.out.println(" -- Saldo atual de cP: " + cP.getSaldo());
System.out.println(" ");
System.out.println(" $ Correção monetária de 0,65% em cP ");
cP.doCorrecao(cP.getSaldo());
System.out.println(" $$ Saldo atual de cP: " + cP.getSaldo());
System.out.println(" ");
System.out.println(" ------ Transferência de cC1 ------ ");
System.out.println(" ");
System.out.println(" Valor a transferir para cC2: ");
cC1.doTransferencia(cC2,in.nextFloat());
System.out.println(" -- Saldo atual de cC1: " + cC1.getSaldo());
System.out.println(" ++ Saldo atual de cC2: " + cC2.getSaldo());
System.out.println(" ");
System.out.println(" Valor a transferir para cP: ");
cC1.doTransferencia(cP,in.nextFloat());
System.out.println(" -- Saldo atual de cC1: " + cC1.getSaldo());
System.out.println(" ++ Saldo atual de cP: " + cP.getSaldo());
System.out.println(" ------ Transferência de cC2 ------ ");
System.out.println(" ");
System.out.println(" Valor a transferir para cC1: ");
cC2.doTransferencia(cC1,in.nextFloat());
System.out.println(" -- Saldo atual de cC2: " + cC2.getSaldo());
System.out.println(" ++ Saldo atual de cC1: " + cC1.getSaldo());
System.out.println(" ");
System.out.println(" Valor a transferir para cP: ");
cC2.doTransferencia(cP,in.nextFloat());
System.out.println(" -- Saldo atual de cC2: " + cC2.getSaldo());
System.out.println(" ++ Saldo atual de cP: " + cP.getSaldo());
System.out.println(" ------ Transferência de cP ------ ");
System.out.println(" ");
System.out.println(" Valor a transferir para cC1: ");
cP.doTransferencia(cC1,in.nextFloat());
System.out.println(" -- Saldo atual de cP: " + cP.getSaldo());
System.out.println(" ++ Saldo atual de cC1: " + cC1.getSaldo());
System.out.println(" ");
System.out.println(" Valor a transferir para cC2: ");
cP.doTransferencia(cC2,in.nextFloat());
System.out.println(" -- Saldo atual de cP: " + cP.getSaldo());
System.out.println(" ++ Saldo atual de cC2: " + cC2.getSaldo());
}
}[/code]
[code]public class Conta
{
protected Float saldo;
public Conta(Float _saldo)
{
saldo = _saldo;
}
public Conta() { }
public void setSaldo(Float _saldo)
{
saldo = _saldo;
}
public float getSaldo()
{
return saldo;
}
public float doCredito(Float _valor)
{
return saldo += _valor;
}
public float doDebito(Float _valor)
{
return saldo -= _valor;
}
public void doTransferencia(Conta contaDestino, Float _valor)
{
doDebito(_valor);
contaDestino.doCredito(_valor);
}
}[/code]
[code]public class Poupanca extends Conta
{
public Poupanca(Float _saldo)
{
super(_saldo);
}
public Poupanca() { }
public float doCorrecao(Float _saldo)
{
return saldo = saldo * 1.065f;
}
}[/code]