Ejemplo: Banco

Descripcion inicial

Primero identificamos las principales clases que podemos utilizar

Declaramos la estructura del programa

Creamos un fichero que se llame por ejemplo AppBanco.java e introducimos la estructura basica del codigo

class Banco
	{
		//Definicion de la clase Cliente
		class Cliente
		{
			//Atributos
			Integer id;
			Integer saldo;
			String nombre;
			//Constructor
			public Cliente(){}		
			//Metodos
			public void sacarDinero(Integer dinero){}
			public void ingresarDinero(Integer dinero){}		
		}
		//Definicion de la clase principal Banco
		//Atributos
		static Integer numClientes;
		Integer MAXCLIENTES;
		Cliente[] clientes;
		//Constructor
		public Banco(){}
		//Metodos
		public void menuPrincipal(){}
		private void crearCuenta(String nombre){}
	}

	//Clase principal
	public class AppBanco
	{
		public static void main(String args[])
		{
			System.out.println("Bienvenido al banco");
		}	
	}

Guardamos los cambios y probamos a compilar y ejecutar, deberia salirnos el mensaje de bienvenida

javac AppBanco.java
	java AppBanco
	Bienvenido al banco

Clase Cliente

class Cliente
		{
			Integer id;
			Integer saldo;
			String nombre;

			public Cliente(String nom, Integer cliente_id)
			{
				nombre = nom;		
				id = cliente_id;
				saldo = 0;
			}

			public boolean sacarDinero(Integer dinero)
			{
				if ((saldo - dinero) >= 0 )
				{
					saldo -= dinero;
					return true;
				}
				else return false;
			}

			public Integer ingresarDinero(Integer dinero)
			{
				if (dinero > 0)
					saldo += dinero;
				return saldo;
			}
			public Integer getId() {return id;}
			public Integer getSaldo() {return saldo;}
			public String getNombre() {return nombre;}
		}

Clase Banco

class Banco
	{
		class Cliente
		{
			........
		}


		static Integer numClientes;
		Integer MAXCLIENTES;
		Cliente[] clientes;

		public Banco()
		{
			numClientes = 0;
			MAXCLIENTES = 1000;
			clientes = new Cliente[MAXCLIENTES];
		}

		public Integer menuPrincipal()
		{
			Integer opcion = -1;
			Scanner input = new Scanner(System.in);
			System.out.println("Bienvenido al Banco Lepton, seleccione una opcion");
			System.out.println("1. Crear cuenta");
			System.out.println("2. Sacar dinero");
			System.out.println("3. Ingresar dinero");
			System.out.println("0. Terminar aplicacion");
			opcion = input.nextInt();
			return opcion;
		}

		public void menuCrearCuenta()
		{
			String nombre = "";
			Scanner input = new Scanner(System.in);
			System.out.println("Ha elegido crear cuenta");
			System.out.println("Introduzca su nombre");		
			nombre = input.nextLine();
			System.out.println("Gracias "+nombre);
			crearCuenta(nombre);
		}

		private void crearCuenta(String nombre)
		{
			Integer numeroDeCliente = numClientes+1;
			clientes[numClientes] = new Cliente(nombre, numeroDeCliente);		
			System.out.println("Su numero de cliente es: "+ clientes[numClientes].getId());
			numClientes+=1;
		}

		public void sacarDinero()
		{
			String nombre = "";
			Scanner input = new Scanner(System.in);
			System.out.println("Ha elegido sacar dinero");
			System.out.println("Introduzca su id");		
			Integer id = input.nextInt();
			nombre = clientes[id-1].getNombre();
			System.out.println("Hola "+nombre+" ,cuanto desea sacar");
			Integer dinero = input.nextInt();
			if (clientes[id-1].sacarDinero(dinero))
				System.out.println("operacion aceptada");
			else
				System.out.println("operacion denegada");
			System.out.println("Su saldo es: "+ clientes[id-1].getSaldo());
		}

		public void ingresarDinero()
		{
			String nombre = "";
			Scanner input = new Scanner(System.in);
			System.out.println("Ha elegido ingresar dinero");
			System.out.println("Introduzca su id");		
			Integer id = input.nextInt();
			nombre = clientes[id-1].getNombre();
			System.out.println("Hola "+nombre+" ,cuanto desea ingresar");
			Integer dinero = input.nextInt();		
			System.out.println("Su saldo es: "+ clientes[id-1].ingresarDinero(dinero));
		}
	}

Clase principal AppBanco

public class AppBanco
	{
		
		static Banco bancoLepton;

		public static void main(String args[])
		{
			Integer opcion = -5;

			bancoLepton = new Banco();
			while (opcion != 0)
			{
				opcion = bancoLepton.menuPrincipal();
				switch(opcion)
				{
					case 1: bancoLepton.menuCrearCuenta();
							break;
					case 2: bancoLepton.sacarDinero();
							break;
					case 3: bancoLepton.ingresarDinero();
							break;
					default: System.out.println("Opcion no encontrada");
				}
			}
		}	
	}

Podemos descargarnos directamente el ficheo java con todo el codigo completo: AppBanco.java