Código.
Clase Principal Cajero:
public class Cajero {
public static void main(String[] args) {
Cajero2 trin = new Cajero2();
trin.menu();
System.exit(0);
}
}
Clase Cajero 2:
import javax.swing.JOptionPane;
public class Cajero2 {
int saldo=100000; // SALDO INICIAL
String clave="POO";//PIN
public void menu(){
String ax;
int op=0;
do{
ax = JOptionPane.showInputDialog(null, "1. Saldo \n 2. Depositar \n 3. Retirar \n 4. Cambiar PIN \n 5. Salir");
if(ax!=null && auxi.isNum(ax)){
op = Integer.parseInt(ax);
switch(op){
case 1:
verSal(); break;
case 2:
consig(); break;
case 3:
retirar(); break;
case 4:
chanPass(); break;
}
}else{
JOptionPane.showMessageDialog(null, "Digite una opcion valida....");
}
}while(op !=5);
}
public void verSal(){
JOptionPane.showMessageDialog(null, "Tu saldo a la fecha es: "+saldo);
}
public void consig(){
String ax; int consig=0;
ax = JOptionPane.showInputDialog(null, "Cuanto desea consginar? ");
if((ax!=null) && !ax.equals("") && auxi.isNum(ax)){
consig = Integer.parseInt(ax);
if(consig>0){
saldo+=consig;
}else{
JOptionPane.showMessageDialog(null, "Ingrese una cantidad mayor a 0 !");
}
}else{
JOptionPane.showMessageDialog(null, "Ingrese la cantidad a depositar: ");
}
}
public void retirar(){
String ax;
ax = JOptionPane.showInputDialog(null, "Ingrese su PIN ");
if(ax==null){
}else{
if(!ax.equals("")){
if(ax.equals(clave)){
ax = JOptionPane.showInputDialog(null, "a. 5000 \n b. 10.000 \n c. 20.000 \n d. 50.000\n e. 100.000\n f. Ingresar valor",
"CANTIDAD A RETIRAR", JOptionPane.INFORMATION_MESSAGE);
if(ax!=null){
if(!ax.equals("")){
switch(ax){
case "a":
if((saldo-5000>=10000)){
saldo-=5000;
}
break;
case "b":
if((saldo-10000>=10000)){
saldo-=10000;
}
break;
case "c":
if((saldo-20000>=10000)){
saldo-=20000;
}
break;
case "d":
if((saldo-50000>=10000)){
saldo-=50000;
}
break;
case "e":
if((saldo-100000>=10000)){
saldo-=100000;
}
break;
case "f":
ax = JOptionPane.showInputDialog(null, "Introduzca el valor a retirar: ");
if(!ax.equals("") && auxi.isNum(ax) && (Integer.parseInt(ax)>0) && (saldo-Integer.parseInt(ax)>=10000) ){
saldo-= Integer.parseInt(ax);
}
break;
default:
JOptionPane.showMessageDialog(null, "Introduzca una opcion valida", "OPCION INCORRECTA", JOptionPane.ERROR_MESSAGE);
break;
}
}
}
}
else{
JOptionPane.showMessageDialog(null, "El PIN ingresado no es valido....");
}
}
}
}
public void chanPass(){
String ax, cl;
ax = JOptionPane.showInputDialog(null, "Digite su PIN....");
if(ax!=null){
if(!ax.equals("")){
if(ax.equals(clave)){
cl = JOptionPane.showInputDialog(null, "Digite su nuevo PIN");
if(cl!=null){
if(cl.length()>3){
ax=null;
ax="Su anterior PIN es:"+clave;
clave=cl;
ax+="\nSu nuevo PIN es: "+clave;
JOptionPane.showMessageDialog(null, ax);
}
else{
JOptionPane.showMessageDialog(null, "El PIN que desea cambiar es muy corto, necesita ser mayor a 3 caracteres...");
}
}
}
else{
JOptionPane.showMessageDialog(null, "El PIN ingresado no coincide....");
}
}
}
}
}
Clase Auxiliar:
public class auxi {
public static boolean isNum(String a){
try{
int b = Integer.parseInt(a);
return true;
}
catch(NumberFormatException e){
return false;
}
}
}
Clase Principal Cajero:
public class Cajero {
public static void main(String[] args) {
Cajero2 trin = new Cajero2();
trin.menu();
System.exit(0);
}
}
Clase Cajero 2:
import javax.swing.JOptionPane;
public class Cajero2 {
int saldo=100000; // SALDO INICIAL
String clave="POO";//PIN
public void menu(){
String ax;
int op=0;
do{
ax = JOptionPane.showInputDialog(null, "1. Saldo \n 2. Depositar \n 3. Retirar \n 4. Cambiar PIN \n 5. Salir");
if(ax!=null && auxi.isNum(ax)){
op = Integer.parseInt(ax);
switch(op){
case 1:
verSal(); break;
case 2:
consig(); break;
case 3:
retirar(); break;
case 4:
chanPass(); break;
}
}else{
JOptionPane.showMessageDialog(null, "Digite una opcion valida....");
}
}while(op !=5);
}
public void verSal(){
JOptionPane.showMessageDialog(null, "Tu saldo a la fecha es: "+saldo);
}
public void consig(){
String ax; int consig=0;
ax = JOptionPane.showInputDialog(null, "Cuanto desea consginar? ");
if((ax!=null) && !ax.equals("") && auxi.isNum(ax)){
consig = Integer.parseInt(ax);
if(consig>0){
saldo+=consig;
}else{
JOptionPane.showMessageDialog(null, "Ingrese una cantidad mayor a 0 !");
}
}else{
JOptionPane.showMessageDialog(null, "Ingrese la cantidad a depositar: ");
}
}
public void retirar(){
String ax;
ax = JOptionPane.showInputDialog(null, "Ingrese su PIN ");
if(ax==null){
}else{
if(!ax.equals("")){
if(ax.equals(clave)){
ax = JOptionPane.showInputDialog(null, "a. 5000 \n b. 10.000 \n c. 20.000 \n d. 50.000\n e. 100.000\n f. Ingresar valor",
"CANTIDAD A RETIRAR", JOptionPane.INFORMATION_MESSAGE);
if(ax!=null){
if(!ax.equals("")){
switch(ax){
case "a":
if((saldo-5000>=10000)){
saldo-=5000;
}
break;
case "b":
if((saldo-10000>=10000)){
saldo-=10000;
}
break;
case "c":
if((saldo-20000>=10000)){
saldo-=20000;
}
break;
case "d":
if((saldo-50000>=10000)){
saldo-=50000;
}
break;
case "e":
if((saldo-100000>=10000)){
saldo-=100000;
}
break;
case "f":
ax = JOptionPane.showInputDialog(null, "Introduzca el valor a retirar: ");
if(!ax.equals("") && auxi.isNum(ax) && (Integer.parseInt(ax)>0) && (saldo-Integer.parseInt(ax)>=10000) ){
saldo-= Integer.parseInt(ax);
}
break;
default:
JOptionPane.showMessageDialog(null, "Introduzca una opcion valida", "OPCION INCORRECTA", JOptionPane.ERROR_MESSAGE);
break;
}
}
}
}
else{
JOptionPane.showMessageDialog(null, "El PIN ingresado no es valido....");
}
}
}
}
public void chanPass(){
String ax, cl;
ax = JOptionPane.showInputDialog(null, "Digite su PIN....");
if(ax!=null){
if(!ax.equals("")){
if(ax.equals(clave)){
cl = JOptionPane.showInputDialog(null, "Digite su nuevo PIN");
if(cl!=null){
if(cl.length()>3){
ax=null;
ax="Su anterior PIN es:"+clave;
clave=cl;
ax+="\nSu nuevo PIN es: "+clave;
JOptionPane.showMessageDialog(null, ax);
}
else{
JOptionPane.showMessageDialog(null, "El PIN que desea cambiar es muy corto, necesita ser mayor a 3 caracteres...");
}
}
}
else{
JOptionPane.showMessageDialog(null, "El PIN ingresado no coincide....");
}
}
}
}
}
Clase Auxiliar:
public class auxi {
public static boolean isNum(String a){
try{
int b = Integer.parseInt(a);
return true;
}
catch(NumberFormatException e){
return false;
}
}
}
0 Comentarios