Como puedo unir las clases de cuenta y banco en el mismo codigo?

Al compilar me marca el siguiente error en la clase banco, ¿por separado las 2 clases funcionan bien pero al unirlos me da error?

class Cuenta {

   protected int numero_cuenta;

   protected double saldo;

   public Cuenta(int cuenta, double inicial) {

     numero_cuenta=cuenta;

     saldo = inicial;

   } // Fin constructor cuenta

   public void depositar(double cantidad) {

      saldo = saldo + cantidad;

   } // Fin método deposito

   public double saldo(){

          return saldo;

   } // Fin método saldo

}//fin clase Cuenta

class Banco {

   public static void main(String [] args) {

   //Se crea la cuenta

          Cuenta cuenta_1 = new Cuenta(123456, 2505.32);

   // Se consulta el saldo

          double total_cuenta=cuenta_1.saldo;

          System.out.println("Total actual en la cuenta: " +total_cuenta +" Euros");

  }//del main

}//de la clase Banco

1 respuesta

Respuesta

Primero que nada, el archivo, supongo que se llamará Banco.java, de ser así, la clase Banco DEBE ser public.
Por otra parte, estás tratando de acceder directamente a un atributo de la clase Cuenta, si estás usando orientación a objetos, eso no es una buena práctica, deberías invocar al método getter correspondiente, en tu caso, también se llama saldo, yo le cambiaría el nombre por getSaldo, para una mayor claridad.
En síntesis, tu código debería verse de la siguiente forma (siempre que el archivo se llame Banco.java)

class Cuenta {
   protected int numero_cuenta;
   protected double saldo;
   public Cuenta(int cuenta, double inicial) {
     numero_cuenta=cuenta;
     saldo = inicial;
   } // Fin constructor cuenta
   public void depositar(double cantidad) {
      saldo = saldo + cantidad;
   } // Fin método deposito
   public String getSaldo(){
          return String.valueOf(saldo);
   } // Fin método saldo
}//fin clase Cuenta
public class Banco {
   public static void main(String [] args) {
   //Se crea la cuenta
          Cuenta cuenta_1 = new Cuenta(123456, 2505.32);
   // Se consulta el saldo
          String total_cuenta = cuenta_1.getSaldo();
          System.out.println("Total actual en la cuenta: " + total_cuenta +" Euros");
  }//del main
}//de la clase Banco

Observarás que agregué el public en la declaración de la clase Banco, cambié el nombre del método saldo por getSaldo y además hice que devuelva directamente un String y utilicé el método String.valueOf() para convertir tu double en su representación como String. Además de eso, cambié el código del main para invocar ese método en lugar de tratar de acceder al atributo de la clase en forma directa.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas