Buscar código fuente del banco
Acceso de cadena protegida
Nombre de cadena protegida;
Dinero doble protegido;
Cuenta pública (Acceso de cadena, Cadena nombre){
this(accId, nombre, 0);
}
Cuenta pública (String accId, nombre de cadena, doble dinero){
this.accId = accId
this.name = nombre
this.money = dinero;
}
público void save money(double money){
if (money<= 0){
System.out.println(" El monto del depósito debe ser mayor que 0 ");
}
este . dinero+= dinero;
System.out.println("Depósito exitoso");
p>
}
public double getMoney(doble dinero){
if (money<= 0){
System.out.println( "El monto del retiro debe ser mayor que 0 ");
Devuelve 0;
}
Si (this.money & lt=money){
System.out. println("Saldo insuficiente, no se puede retirar dinero");
Devuelve 0;
}
this.money -=money
System.out.println("Retiro exitoso");
Devolver el dinero
}
public double getBalance(){
Devolver el dinero;
}
Doble protegido getOverdraft(){
Devolución 0;
}
//Se implementa el método igual, por lo que la comparación de listas puede ser correcta.
@override
Booleano público es igual a (objeto objeto){
if(obj == null){
devuelve falso p>
}
if(this == obj){
return true
}
if(objeto de cuenta Ejemplo ){
Devuelve esto. accid es igual a(((Cuenta)obj).accId);
}
Devuelve falso
}
@override
Cadena pública toString() {
Devolver "cuenta ="+accId+", nombre ="+nombre+", saldo = "+ dinero;
}
}
Banco de clase pública{
// La cuenta implementa el método igual para que se pueda encontrar la lista correctamente.
Lista de distribución personal & ltAccounts & gtusersAccounts
PublicBank(){
usersAccounts = new ArrayList & ltAccounts& gt();
}
public void addAccount(Cuenta de cuenta){
if(cuentas de usuarios. contiene (cuenta)){
System.out.println( "Error al agregar, no se puede agregar la misma cuenta");
Regresar;
}
cuentas de usuarios . add(cuenta);
} p>
Cuenta booleana pública(Cuenta de cuenta){
recuentos de usuarios devueltos eliminar(cuenta);
}
Cuenta booleana pública( String accId){
return delAccount(nueva cuenta(accId, null));
}
Cuenta pública booleana existente (Cuenta de cuenta){
Devolver recuentos de usuarios. contains(account);
}
existAccount booleano público(string accId) {
Devolver existAccount( nueva cuenta(accId) , null));
}
Cuenta pública getAccount(String accId){
recuento de usuarios de retorno get(recuento de usuarios . índice de (cuenta nueva( accId, null)));
}
public double getAllMoney() {
//Independientemente de si se desborda o no, solo obtiene todos los saldos de los usuarios Súmalo.
Resultado doble = 0;
for(Cuenta Cuenta:cuenta de usuarios){
resultado+= cuenta .
>}
Devuelve el resultado;
}
public double getAllOverdraft() {
//Independientemente de si se desborda p>
Resultado doble = 0;
for(Cuenta Cuenta:cuenta de usuarios){
resultado+= cuenta obtener sobregiro();
} p>
Devolver resultados;
}
public int getAccountNum() {
Devolver recuentos de usuarios();
}
public int getCreditAccountNum(){
int num = 0;
for(Cuenta Cuenta:cuenta de usuarios){
// El rendimiento de instancia de no es tan rápido como el método simple.
Instancia de cuenta de CreditAccount){
num++;
}
}
Cantidad devuelta; p>
p>
}
public int getSavingAccountNum(){
int num = 0;
for(Cuenta Cuenta:cuenta de usuarios ){
Instancia de cuenta de SavingAccount){
num++;
}
}
Cantidad devuelta;
}
Lista pública & ltAccounts& gtgetAllAccount() {
Devolver cuentas de usuarios
}
} p>
Cuenta extendida CreditAccount de clase pública {
Sobregiro doble privado;
Cuenta de crédito pública(string accId, string name){
super(accId, nombre );
este .sobregiro = 1000;
}
cuenta de crédito pública (String accId, String nombre, doble dinero){
Esta (cuenta, nombre, dinero, 1000);
}
cuenta de crédito pública (cuenta de cadena, nombre de cadena, doble dinero, doble sobregiro){
super(accId,nombre,dinero);
este .overdraft=sobregiro;
}
@override
doble público getMoney (doble dinero){
If (money& lt= 0){
System.out.println("El monto del retiro debe ser mayor que 0 ");
Devuelve 0;
}
if(this.money +overdraft<=money){
System.out.println("Saldo insuficiente, no se puede retirar dinero");
Devuelve 0;
}
this.money -=money;
System.out.println(" Retiro exitoso");
Devolver el dinero;
}
@Overdraft
Doble público getOverdraft(){
Devolver el sobregiro;
}
@Override
Cadena pública toString() {
Devolver "account ="+ accId+", nombre="+nombre+", saldo="+dinero+", sobregiro="+sobregiro;
}
}
Cuenta de ahorro de clase pública extiende la cuenta {
cuenta de ahorro pública (cadena accId, nombre de cadena){
super(accId, nombre);
}
pública cuenta de ahorro(String accId, String nombre, doble dinero) {
Super(accId, nombre, dinero);
}
@cover p>
público doble getMoney(doble dinero){
return super.getMoney(dinero);
p>
}
@Override
Doble público getOverdraft() {
return super . }
}
Prueba de clase pública{
Banco privado estático Banco = nuevo Banco();
Público vacío estático principal(Cadena [] args) {
prueba . gen cuenta();
//Abrir una cuenta
cuenta a 1 = nueva cuenta de crédito(" 1 ", " 1 ", 200, 2000);
Cuenta a2 = nueva CuentaAhorro("2", "2", 300);
Cuenta a3 = nueva CuentaAhorro("3", "3 ", 400);
Cuenta a4 = nueva Cuenta de Crédito("4", "4", 500, 2000);
Cuenta a5 = nueva Cuenta de Crédito("4", "5 ", 600, 2000); //Cuenta 4 veces
banco .agregar cuenta(a 1); p> banco . agregar cuenta (a3);
banco agregar cuenta (a4); ;
//Cancelación de cuenta
banco . cuenta(" 1 "
banco . >showNowAccount ();
//Depositar
if(banco . existe cuenta(" 3 "){
cuenta = banco . obtener cuenta(" 3 ") ;
ACC . ahorrar dinero(100);
}
showNowAccount();
//Retirar dinero p>
if(banco. existe cuenta(" 3 "){
cuenta = banco. obtener cuenta(" 3 ");
sistema. salida. println(" saldo = "+ACC . obtener saldo());
ACC . getmoney(100);
sistema . out . println(" saldo = "+ACC . obtener saldo()
ACC . getmoney(1000);
sistema . println(" saldo = "+ACC . obtener saldo()); p>
if(banco . existe cuenta(" 4 "){
cuenta = banco . obtener cuenta(" 4 ");
sistema . fuera . println (" saldo = "+ACC . obtener saldo());
ACC getmoney(100);
sistema println(" saldo = "+ .
ACC . obtener saldo());
ACC . obtener dinero(1000);
sistema . println(" saldo = "+ACC . obtener saldo()); p>
p>
ACC . getmoney(10000);
system out . }
sistema . println(banco . getaccountnum());
sistema . println(banco . getall money());
sistema . fuera . println( banco . getalloverdraft());
sistema fuera . println(banco . getcreditaccountnum());
sistema fuera . );
}
Public static void genAccount(){
string s = " 1000 0000 0000 000 ";
Cuenta a = vacío;
p>
for(int I = 1;i<11;i++){
if ((i&2) == 0){
A = nueva cuenta de crédito(s+String.valueOf(i),"account"+string.valueof(I));
}else{
A = nueva cuenta de ahorros ( s+String.valueOf(i), " cuenta "+cadena . valor de(I));
}
banco agregar cuenta
;}
}
Vuelo estático público showNowAccount(){
for(Cuenta Cuenta:banco. getallaccount()){
sistema . println(cuenta);
}
}
}