Dificuldade com Herança - crédito, débito e transferência

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]