Vous êtes sur la page 1sur 5

import javax.swing.

JOptionPane;
public class Divisiones {
int D, d, C; //D = Dividendo, d = Divisor, C = Cociente
public static void main(String[] args) {
Divisiones trin = new Divisiones();
trin.ingrDatos();
System.exit(0);
}
public void ingrDatos(){
String c1, c2, ax;
int op, dividendo;
c1 = JOptionPane.showInputDialog( null, "Dividendo : "); //pedimos el pr
imer numero
c2 = JOptionPane.showInputDialog( null, "Divisor : "); //pedimos el se
gundo numero
D = Integer.parseInt(c1);
d = Integer.parseInt(c2);
dividendo = D;
C = divRestasSuc(D, d);//obtenemos el cociente
ax="Dividendo: "+dividendo+"\nDivisor: "+d+"\n";
if(D!=0){
op = JOptionPane.showConfirmDialog(null, "Desea obtener decimales");
if(op == JOptionPane.YES_OPTION){
ax+="Resultado: "+C+","+divRestasSuc(D*10, d);//agregamos 0 (cer
o) al residuo y
//lo dividimos entre el divisor para e
l primer decimal
JOptionPane.showMessageDialog(null, ax);
}
else{
ax+="Cociente: "+C+"\nResiduo: "+D;
JOptionPane.showMessageDialog(null, ax);
}
}
else{
ax+="Cociente: "+C+"\nResiduo: "+D;
JOptionPane.showMessageDialog(null, ax);
}
}
public int divRestasSuc(int n1, int n2){//metodo para realizar la resta suc
esiva
int c=0;
c = 0;
while( n1 >= n2){ //ciclo para la resta sucesiva
n1 = n1 - n2;

c++;
}
D=n1;
return c;

//variable cociente o resultado

}
}

clase pricipal
package ejercajero;
public class EjerCajero {
public static void main(String[] args) {
cajero2 trin = new cajero2(); //creacion del objeto para la manipulacion
de los metodos de la clase cajero2
trin.menu();//invocacion del menu por medio del objeto trin
System.exit(0); //cuando se sale del menu se finaliza la aplicacion
}
}
clase secundario
package ejercajero;
import javax.swing.JOptionPane;//importacion necesaria para el uso de los cuadro
s de dialogo
public class cajero2 {
//variables globales para que puedan ser modificados de ser necesario
int saldo=90000; //saldo inicial
String clave="1234";//clave predeterminada
public void menu(){//metodo que contiene el menu de la aplicacion
String ax;
int op=0;
do{
ax = JOptionPane.showInputDialog(null, "1. Saldo \n 2. Consignar \n
3. Retirar \n 4. Cambiar Clave \n 5. Salir");
if(ax!=null && auxi.isNum(ax)){//validacion para el menu
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);//cuando se digita 5 se finaliza la aplicacion
}
public void verSal(){//metodo para ver el saldo de la cuenta
JOptionPane.showMessageDialog(null, "Tu saldo a la fecha es: "+saldo);
}
public void consig(){//metodo para realizar la consignacion
String ax; int consig=0;
ax = JOptionPane.showInputDialog(null, "Cuanto desea consginar? ");
if((ax!=null) && !ax.equals("") && auxi.isNum(ax)){//triple validacion,
si se ingreso algo, y si es numero lo ingresado
consig = Integer.parseInt(ax);
if(consig>0){//si el valor a consignar es mayor que 0 se realiza la
consignacion
saldo+=consig;//se suma el nuevo valor al saldo
}else{
JOptionPane.showMessageDialog(null, "Consigne una cantidad mayor
a 0 !!!");
}
}else{
JOptionPane.showMessageDialog(null, "Ingrese un valor a consignar!!
!");
}
}
public void retirar(){//metodo para retirar del saldo
String ax;
ax = JOptionPane.showInputDialog(null, "Digite su clave.... ");
if(ax==null){//validacion por si se selecciona cancelar del cuadro de di
alogo y evitar errores
}else{
if(!ax.equals("")){
if(ax.equals(clave)){//si la clave digitada coincide con la clav
e
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_MESSAG
E);
if(ax!=null){
if(!ax.equals("")){
switch(ax){
case "a":
if((saldo-5000>=10000)){//se verifica si al
retirar queda con un saldo minimo de 10.000
saldo-=5000;
}
break;
case "b":
if((saldo-10000>=10000)){//se verifica si al
retirar queda con un saldo minimo de 10.000
saldo-=10000;
}
break;

case "c":
if((saldo-20000>=10000)){//se verifica si al
retirar queda con un saldo minimo de 10.000
saldo-=20000;
}
break;
case "d":
if((saldo-50000>=10000)){//se verifica si al
retirar queda con un saldo minimo de 10.000
saldo-=50000;
}
break;
case "e":
if((saldo-100000>=10000)){//se verifica si a
l retirar queda con un saldo minimo de 10.000
saldo-=100000;
}
break;
case "f":
ax = JOptionPane.showInputDialog(null, "Digi
te el valor a retirar: ");
if(!ax.equals("") && auxi.isNum(ax) && (Inte
ger.parseInt(ax)>0) && (saldo-Integer.parseInt(ax)>=10000) ){
saldo-= Integer.parseInt(ax);
}
break;
default:
JOptionPane.showMessageDialog(null, "Digite
una opcion valida", "OPCION INCORRECTA", JOptionPane.ERROR_MESSAGE);
break;
}
}
}
}
else{
JOptionPane.showMessageDialog(null, "La clave ingresada no c
oincide....");
}
}
}
}
public void chanPass(){//metodo para cambiar la contrasea
String ax, cl;
ax = JOptionPane.showInputDialog(null, "Digite su clave....");
if(ax!=null){
if(!ax.equals("")){
if(ax.equals(clave)){//si la clave digitada coincide con la clav
e que existe
cl = JOptionPane.showInputDialog(null, "Digite su nueva clave
");
if(cl!=null){
if(cl.length()>3){//si el tamao de la nueva contrasea tiene
mas de 3 caracteres se puede cambiar
ax=null;//se elimina el valor contenido con anterior
idad de la variable
ax="Su anterior clave es:"+clave;
clave=cl;

ax+="\nSu nueva clave es: "+clave;


JOptionPane.showMessageDialog(null, ax);
}
else{
JOptionPane.showMessageDialog(null, "La clave que de
sea cambiar es muy corta...");
}
}
}
else{
JOptionPane.showMessageDialog(null, "La clave ingresada no c
oincide....");
}
}
}
}
}

try{
int b = Integer.parseInt(a);
return true;//si se puede convertir a numero devuelve verdadero
}
catch(NumberFormatException e){
return false;//si no se puede convertir a numero devuelve falso
}
}
}

Vous aimerez peut-être aussi