
Ayuda con el programa de un banco para N clientes, lo he intentado hacer pero no me sale,
Publicado por programadorprincipiante (1 intervención) el 18/03/2022 00:48:43
// solo ya hice para 2 clientes
- Pero quiero hacerlo para "N clientes" es decir, que el programa me pida cuantos clientes quiero ingresar
import java.util.Scanner;
public class viernes18java {
public static void main(String args[]) {
Scanner teclado=new Scanner(System.in);
String nombre,nombre2;
int i, a, b, c, d, numCuenta, edad, numCuenta2, edad2;
double saldo,saldo2,importeDepositar,importeRetirar,importeTransf;
int opcion;
//cliente y cuenta 1
System.out.println("Escribe un ID o numero de cuenta 1: ");
numCuenta=teclado.nextInt();
System.out.println("Escribe tu nombre: ");
nombre=teclado.next();
System.out.println("Escribe tu edad");
edad=teclado.nextInt();
System.out.println("Escribe tu saldo");
saldo=teclado.nextDouble();
Cuenta cuenta1=new Cuenta(numCuenta, nombre, edad, saldo);
//cliente y cuenta 2
System.out.println("");
System.out.println("Escribe un ID o numero de cuenta 2: ");
numCuenta2=teclado.nextInt();
System.out.println("Escribe tu nombre: ");
nombre2=teclado.next();
System.out.println("Escribe tu edad");
edad2=teclado.nextInt();
System.out.println("Escribe tu saldo");
saldo2=teclado.nextDouble();
Cuenta cuenta2=new Cuenta(numCuenta2, nombre2, edad2, saldo2);
do{
System.out.println();
System.out.println("-------------------------------------------");
System.out.println("MENU DE OPCIONES");
System.out.println("1.Depositar a una cuenta específica");
System.out.println("2.Retirar de cuenta específicas");
System.out.println("3.Realizar traspasos entre cuentas");
System.out.println("4.Consultar el saldo de una cuenta específica");
System.out.println("5.Consultar el saldo de todas las cuentas");
System.out.println("6.Salir");
System.out.println("Selecciona una opcion: ");
opcion=teclado.nextInt();
System.out.println("-------------------------------------------");
System.out.println();
//OPCION1
if(opcion==1){
System.out.println("A que cuenta quieres depositar?(1-para la primera cuenta, 2-para segunda cuenta");
a=teclado.nextInt();
if(a==1){//if para saber a q cuenta depositar
System.out.println("Cuanto quieres depositar a la cuenta 1? ");
importeDepositar=teclado.nextDouble();
if(importeDepositar<=0){
System.out.println("<<DEPOSITO NO REALIZADO>>");
System.out.println("No se puede depositar una cantidad menor a 0 pesos");
}
if(importeDepositar>0){
cuenta1.depositar(importeDepositar);//llama al metodo depositar
System.out.println("<<DEPOSITO REALIZADO>>");
}
}
else if(a==2){
System.out.println("Cuanto quieres depositar a la cuenta 2? ");
importeDepositar=teclado.nextDouble();
if(importeDepositar<=0){
System.out.println("<<DEPOSITO NO REALIZADO>>");
System.out.println("No se puede depositar una cantidad menor a 0 pesos");
}
if(importeDepositar>0){
cuenta2.depositar(importeDepositar);//llama al metodo depositar
System.out.println("<<DEPOSITO REALIZADO>>");
}
}
}
//OPCION 2
else if(opcion==2){
System.out.println("De que cuenta quieres retirar?(1-Para la primera cuenta, 2-Para segunda cuenta)");
b=teclado.nextInt();
//if para saber de que cuenta retirar
if(b==1){
System.out.println("Cuanto quieres retirar de la cuenta 1?");
importeRetirar=teclado.nextDouble();
//No poder retirar de una cuenta más dinero que el saldo que tiene la cuenta 1
if(importeRetirar<saldo){
System.out.println("<<RETIRO NO REALIZADO>>");
System.out.println("<<No se puede retirar más dinero que el saldo que tiene la cuenta>>");
}
else if(importeRetirar>=saldo){
cuenta1.retirar(importeRetirar);
System.out.println("<<RETIRO REALIZADO>>");
}
}
//fin del if para no poder retirar de una cuenta más dinero que el saldo que tiene la cuenta 1
else if(b==2){
System.out.println("Cuanto quieres retirar de la cuenta 2?");
importeRetirar=teclado.nextDouble();
//No poder retirar de una cuenta más dinero que el saldo que tiene la cuenta 2
if(importeRetirar<saldo){
System.out.println("<<RETIRO NO REALIZADO>>");
System.out.println("<<No se puede retirar más dinero que el saldo que tiene la cuenta>>");
}
else if(importeRetirar>saldo){
cuenta2.retirar(importeRetirar);
System.out.println("<<RETIRO REALIZADO>>");
}
//fin del if para no poder retirar de una cuenta más dinero que el saldo que tiene la cuenta 2
}
}
else if(opcion==3){
System.out.println("A que cuenta quieres transferir?");
System.out.println("(1-De la cuenta 1 a la cuenta 2 ó 2-De la cuenta 2 a la cuenta 1)");
c=teclado.nextInt();
//if para la transferencia
if(c==1){
System.out.println("Cuanto quieres transferir de la cuenta 1 a la cuenta 2?");
importeTransf=teclado.nextDouble();
//if para que no el importe no sea negativo
if(importeTransf<=0){
System.out.println("<<TRANSFERENCIA NO REALIZADA>>");
System.out.println("<<NO SE PERMITEN NUMEROS NEGATIVOS>>");
}
else if(importeTransf>0){
cuenta1.retirar(importeTransf);
cuenta2.depositar(importeTransf);
System.out.println("<<TRANSFERENCIA REALIZADA>>");
}
}
//fin if para que no el importe no sea negativo
else if(c==2){
System.out.println("Cuanto quieres transferir de la cuenta 2 a la cuenta 1?");
importeTransf=teclado.nextDouble();
//if para que no el importe no sea negativo
if(importeTransf<=0){
System.out.println("<<TRANSFERENCIA NO REALIZADA>>");
}
else if(importeTransf>0){
cuenta2.retirar(importeTransf);
cuenta1.depositar(importeTransf);
System.out.println("<<TRANSFERENCIA REALIZADA>>");
}
//fin if para que no el importe no sea negativo
}
}
//fin if de la opcion 3
else if(opcion==4){
System.out.println("De que cuenta quieres consultar el saldo? (1-Para la primera cuenta, 2-Para segunda cuenta)");
d=teclado.nextInt();
//if para saber de que cuenta consultar
if(d==1){
System.out.println("El saldo de la cuenta 1 es: "+cuenta1.consultarSaldo());
}
else if(d==2){
System.out.println("El saldo de la cuenta 2 es: "+cuenta2.consultarSaldo());
}
}
else if(opcion==5){
System.out.println("El saldo de la cuenta 1 es: "+cuenta1.consultarSaldo());
System.out.println("El saldo de la cuenta 2 es: "+cuenta2.consultarSaldo());
}
else if(opcion==6){
System.out.println("GRACIAS POR USAR!");
}
}while(opcion!=6);
}
}
class Cuenta{
int numCuenta;
String nombre;
int edad;
double saldo;
Cuenta(int numCuenta,String nombre,int edad, double saldo){
this.numCuenta=numCuenta;
this.nombre=nombre;
this.edad=edad;
this.saldo=saldo;
}
void depositar(double importe){
saldo=saldo+importe;
}
void retirar(double importe){
saldo=saldo-importe;
}
double consultarSaldo(){
return saldo;
}
}
- Pero quiero hacerlo para "N clientes" es decir, que el programa me pida cuantos clientes quiero ingresar
import java.util.Scanner;
public class viernes18java {
public static void main(String args[]) {
Scanner teclado=new Scanner(System.in);
String nombre,nombre2;
int i, a, b, c, d, numCuenta, edad, numCuenta2, edad2;
double saldo,saldo2,importeDepositar,importeRetirar,importeTransf;
int opcion;
//cliente y cuenta 1
System.out.println("Escribe un ID o numero de cuenta 1: ");
numCuenta=teclado.nextInt();
System.out.println("Escribe tu nombre: ");
nombre=teclado.next();
System.out.println("Escribe tu edad");
edad=teclado.nextInt();
System.out.println("Escribe tu saldo");
saldo=teclado.nextDouble();
Cuenta cuenta1=new Cuenta(numCuenta, nombre, edad, saldo);
//cliente y cuenta 2
System.out.println("");
System.out.println("Escribe un ID o numero de cuenta 2: ");
numCuenta2=teclado.nextInt();
System.out.println("Escribe tu nombre: ");
nombre2=teclado.next();
System.out.println("Escribe tu edad");
edad2=teclado.nextInt();
System.out.println("Escribe tu saldo");
saldo2=teclado.nextDouble();
Cuenta cuenta2=new Cuenta(numCuenta2, nombre2, edad2, saldo2);
do{
System.out.println();
System.out.println("-------------------------------------------");
System.out.println("MENU DE OPCIONES");
System.out.println("1.Depositar a una cuenta específica");
System.out.println("2.Retirar de cuenta específicas");
System.out.println("3.Realizar traspasos entre cuentas");
System.out.println("4.Consultar el saldo de una cuenta específica");
System.out.println("5.Consultar el saldo de todas las cuentas");
System.out.println("6.Salir");
System.out.println("Selecciona una opcion: ");
opcion=teclado.nextInt();
System.out.println("-------------------------------------------");
System.out.println();
//OPCION1
if(opcion==1){
System.out.println("A que cuenta quieres depositar?(1-para la primera cuenta, 2-para segunda cuenta");
a=teclado.nextInt();
if(a==1){//if para saber a q cuenta depositar
System.out.println("Cuanto quieres depositar a la cuenta 1? ");
importeDepositar=teclado.nextDouble();
if(importeDepositar<=0){
System.out.println("<<DEPOSITO NO REALIZADO>>");
System.out.println("No se puede depositar una cantidad menor a 0 pesos");
}
if(importeDepositar>0){
cuenta1.depositar(importeDepositar);//llama al metodo depositar
System.out.println("<<DEPOSITO REALIZADO>>");
}
}
else if(a==2){
System.out.println("Cuanto quieres depositar a la cuenta 2? ");
importeDepositar=teclado.nextDouble();
if(importeDepositar<=0){
System.out.println("<<DEPOSITO NO REALIZADO>>");
System.out.println("No se puede depositar una cantidad menor a 0 pesos");
}
if(importeDepositar>0){
cuenta2.depositar(importeDepositar);//llama al metodo depositar
System.out.println("<<DEPOSITO REALIZADO>>");
}
}
}
//OPCION 2
else if(opcion==2){
System.out.println("De que cuenta quieres retirar?(1-Para la primera cuenta, 2-Para segunda cuenta)");
b=teclado.nextInt();
//if para saber de que cuenta retirar
if(b==1){
System.out.println("Cuanto quieres retirar de la cuenta 1?");
importeRetirar=teclado.nextDouble();
//No poder retirar de una cuenta más dinero que el saldo que tiene la cuenta 1
if(importeRetirar<saldo){
System.out.println("<<RETIRO NO REALIZADO>>");
System.out.println("<<No se puede retirar más dinero que el saldo que tiene la cuenta>>");
}
else if(importeRetirar>=saldo){
cuenta1.retirar(importeRetirar);
System.out.println("<<RETIRO REALIZADO>>");
}
}
//fin del if para no poder retirar de una cuenta más dinero que el saldo que tiene la cuenta 1
else if(b==2){
System.out.println("Cuanto quieres retirar de la cuenta 2?");
importeRetirar=teclado.nextDouble();
//No poder retirar de una cuenta más dinero que el saldo que tiene la cuenta 2
if(importeRetirar<saldo){
System.out.println("<<RETIRO NO REALIZADO>>");
System.out.println("<<No se puede retirar más dinero que el saldo que tiene la cuenta>>");
}
else if(importeRetirar>saldo){
cuenta2.retirar(importeRetirar);
System.out.println("<<RETIRO REALIZADO>>");
}
//fin del if para no poder retirar de una cuenta más dinero que el saldo que tiene la cuenta 2
}
}
else if(opcion==3){
System.out.println("A que cuenta quieres transferir?");
System.out.println("(1-De la cuenta 1 a la cuenta 2 ó 2-De la cuenta 2 a la cuenta 1)");
c=teclado.nextInt();
//if para la transferencia
if(c==1){
System.out.println("Cuanto quieres transferir de la cuenta 1 a la cuenta 2?");
importeTransf=teclado.nextDouble();
//if para que no el importe no sea negativo
if(importeTransf<=0){
System.out.println("<<TRANSFERENCIA NO REALIZADA>>");
System.out.println("<<NO SE PERMITEN NUMEROS NEGATIVOS>>");
}
else if(importeTransf>0){
cuenta1.retirar(importeTransf);
cuenta2.depositar(importeTransf);
System.out.println("<<TRANSFERENCIA REALIZADA>>");
}
}
//fin if para que no el importe no sea negativo
else if(c==2){
System.out.println("Cuanto quieres transferir de la cuenta 2 a la cuenta 1?");
importeTransf=teclado.nextDouble();
//if para que no el importe no sea negativo
if(importeTransf<=0){
System.out.println("<<TRANSFERENCIA NO REALIZADA>>");
}
else if(importeTransf>0){
cuenta2.retirar(importeTransf);
cuenta1.depositar(importeTransf);
System.out.println("<<TRANSFERENCIA REALIZADA>>");
}
//fin if para que no el importe no sea negativo
}
}
//fin if de la opcion 3
else if(opcion==4){
System.out.println("De que cuenta quieres consultar el saldo? (1-Para la primera cuenta, 2-Para segunda cuenta)");
d=teclado.nextInt();
//if para saber de que cuenta consultar
if(d==1){
System.out.println("El saldo de la cuenta 1 es: "+cuenta1.consultarSaldo());
}
else if(d==2){
System.out.println("El saldo de la cuenta 2 es: "+cuenta2.consultarSaldo());
}
}
else if(opcion==5){
System.out.println("El saldo de la cuenta 1 es: "+cuenta1.consultarSaldo());
System.out.println("El saldo de la cuenta 2 es: "+cuenta2.consultarSaldo());
}
else if(opcion==6){
System.out.println("GRACIAS POR USAR!");
}
}while(opcion!=6);
}
}
class Cuenta{
int numCuenta;
String nombre;
int edad;
double saldo;
Cuenta(int numCuenta,String nombre,int edad, double saldo){
this.numCuenta=numCuenta;
this.nombre=nombre;
this.edad=edad;
this.saldo=saldo;
}
void depositar(double importe){
saldo=saldo+importe;
}
void retirar(double importe){
saldo=saldo-importe;
}
double consultarSaldo(){
return saldo;
}
}
Valora esta pregunta


0