```public class Cuenta {
private int numero;
private int agencia;
private double saldo;
// Constructor para inicializar los datos obligatorios
public Cuenta(int numero, int agencia) {
this.numero = numero;
this.agencia = agencia;
this.saldo = 0.0; // Saldo inicializado en 0 por defecto
}
// Método para depositar dinero (validación para valores negativos)
public void deposita(double valor) {
if (valor > 0) {
saldo += valor;
} else {
System.out.println("Error: El valor a depositar debe ser positivo.");
}
}
// Método para retirar dinero (mejor manejo de saldo insuficiente)
public boolean retira(double valor) {
if (valor <= 0) {
System.out.println("Error: El valor a retirar debe ser positivo.");
return false;
}
if (valor > saldo) {
System.out.println("Error: Saldo insuficiente.");
return false;
}
saldo -= valor;
return true;
}
// Getters y Setters (setSaldo eliminado por seguridad)
public int getNumero() {
return numero;
}
public int getAgencia() {
return agencia;
}
public double getSaldo() {
return saldo;
}
// Evitamos setSaldo para no permitir modificaciones arbitrarias
// (el saldo solo debe cambiar mediante depósitos/retiros)
}