Anda di halaman 1dari 8

Universidad Interactiva y a Distancia en el Estado de Guanajuato

Plantel San Felipe

Alumno: Manuel Piña Huerta

Matricula: U157057N0050

Materia: Programación Orientada a Objetos

Profesor: Alejandra Aurora Martínez Chávez

Actividad 3 “Programación de Métodos”

San Felipe, Gto a 27 de febrero de 2016


El programa consiste en que si se introduce la contraseña y esta es correcta podra acceder a su
cuenta y al menu de opciones:
+++++++++++++Simulacion de Cajero+++++++++++
1.-Transferencia
2.-Retiro
3.-Consulta
El programa posee dos clases: Cuenta y Transferencia las cuales heredan de la clase padre
Clase_Polimorfismo la misma que es abstracta.
Ademas contiene una Interface: Interface la que contiene un solo metodo y una constante
declarada la misma que ya contiene su valor.
Sin dejar atras de la clase ejecutora la cual contiene manejo de excepciones para controlar los
digitos de la contraseña....

Clase Principal-Ejecutora del Programa

package Simula_Cajero;
import java.io.*;
public class Principal_Cajero {

public static InputStreamReader Leer = new InputStreamReader(System.in);


public static BufferedReader Teclado = new BufferedReader(Leer);
public static void main(String[] args) throws IOException {

Clase_Polimorfismo [] maru = new Clase_Polimorfismo[3];


maru[0] =new Cuenta (500,"Luis");
maru[1] =new Cuenta (700,"Xander");
maru[2] =new Cuenta (600,"Missael");

Clase_Polimorfismo [] leo = new Clase_Polimorfismo[3];


leo[0]= new Transferencia(0,"Luis");
leo[1]= new Transferencia(0,"Xander");
leo[2]= new Transferencia(0,"Missael");

int contr[]= new int [3];


contr[0]=1000;
contr[1]=2000;
contr[2]=3000;

int cta[]= new int[3];


cta[0]=100;
cta[1]=200;
cta[2]=300;

int m=0,l=0,q=0;
boolean falso=false;
do{
try{ falso=false;
do{
System.out.println(" INTRODUSCA SU CONTRASEÑA:");
int usuario=Integer.parseInt(Teclado.readLine());

if(usuario==contr[i]){
m=i;
System.out.println(" BIENVENIDO Al SISTEMA DE CAJERO AUTOMATICO ");
l=1;
q=2;
maru[i].Informacion();}}
if(l==0)
System.out.println(" CONTRASEÑA ERRONEA ");
if(q !=2){
System.out.println(" PRESIONE 1 PARA VOLVER");
q=Integer.parseInt(Teclado.readLine());

}}while(q==1);}
catch(NumberFormatException e ){falso=true;
System.out.println(" ERROR CONTRASEÑA INVALIDA"+"SOLO NUMERO "+e);
}}while(falso);
if(l==1){ int o;
do{
System.out.println("Que desea hacer:");
System.out.println("1.-Transferencia");
System.out.println("2.-Retiro");
System.out.println("3.-Consulta");
System.out.println("Ingrese opcion:");
o=Integer.parseInt(Teclado.readLine());
switch(o){
case 1:
boolean mar=false;
System.out.println(" INTRODUSCA EL NUMERO DE CUENTA");
int usuario=Integer.parseInt(Teclado.readLine());

if(usuario==cta[i]){mar=true;
System.out.println(" Introdusca la cantidad a Transferir:");
int cant=Integer.parseInt(Teclado.readLine());
int lu=maru[m].Saldo();
if(cant<=lu){
maru[m].Transferencia(cant);
leo[i].Transferencia(cant);
leo[i].Informacion();
}else System.out.println(" NO HAY SUFICIENTE DINERO");}}

if(mar==false){
System.out.println(" NUMERO DE CUENTA ERRONEO");}
maru[m].Informacion();
break;
case 2:
boolean my=false;
do{ my=false;
try{
System.out.println(" Introduzca la Cantidad a Retirar:");
int cant1=Integer.parseInt(Teclado.readLine());
if(cant1<=maru[m].Saldo()){
maru[m].Retiro(cant1);
}else System.out.println(" NO HAY SUFICIENTE DINERO PARA RETIRAR");
maru[m].Informacion();
}catch(NumberFormatException e ){my=true;
System.out.println(" ERROR"+"SOLO NUMERO "+e);
}}while(my);
break;
case 3:
System.out.println(" *************+BIENVENIDO +************* ");
maru[m].Informacion();
}

Clase Polimorfismo

package Simula_Cajero;
public abstract class Clase_Polimorfismo {
protected int sald;
protected String nom;

public Clase_Polimorfismo(int sald, String nom) {


this.sald = sald;
this.nom = nom;
}
public abstract int Saldo();
public abstract int Transferencia(int t);
public abstract void Retiro (int r);
public abstract void Informacion();
}
Clase Cuenta

package Simula_Cajero;
public class Cuenta extends Clase_Polimorfismo implements Interface {
public static int sald_ini=5;
public Cuenta(int sald, String nom) {
super(sald, nom);
}
@Override
public int Saldo() {
return this.sald;
}
@Override
public int Transferencia(int t) {
if(t>5){
int trans=(t*sald_ini)/100;
this.sald-=t+trans;}
else
System.out.println("No se puede Transferir menos de $5");
return this.sald;
}
@Override
public void Retiro(int r) {
if(r>5){
int re=(r*sald_ini)/100;
this.sald-=r+re;}else
System.out.println("No se puede Retirar menos de $5"); }
public int Consulta_Saldo() {
return this.sald;
}
@Override
public void Informacion() {
System.out.println("Hola:" +this.nom);
System.out.println("Su Saldo actual es:" +this.Consulta_Saldo()); }}

Interface

package Simula_Cajero;
public interface Interface {
public int Consulta_Saldo();
public int imp=2;
}

Clase Transferencia

package Simula_Cajero;
public class Transferencia extends Clase_Polimorfismo {
public static int sald_ini=5;
public Transferencia(int sald, String nom) {
super(sald, nom);
}
@Override
public void Retiro(int r) {
if(r >5){
int ret=(r*sald_ini)/100;
this.sald=r+ret;
}else
System.out.println("No se puede retirar menos del Saldo Inicial");}
@Override
public int Saldo() {
return this.sald;
}
@Override
public void Informacion() {
System.out.println("El Saldo Transferido es:" + this.sald);
}
@Override
public int Transferencia(int t) {
return this.sald+=t;
}}
Ejecucion del programa con la opcion Transferencia

Ejecucion del programa con la opcion Retiro


Ejecucion del programa con la opcion Consulta

Anda mungkin juga menyukai