Powered By Blogger

viernes, 2 de diciembre de 2011

PROGRAMAS SIMULACIÓN DE ELEVADOR



PROGRAMACIÓN ORIENTADA A OBJETOS



SIMULACION DE ELEVADOR EN JAVA
Este programa simula la rutina de un elevador utilizando polimorfismo herencia e interfaz y por ultimo manejo de excepciones:

PANEL
package eleva;
import java.awt.Color;
import java.awt.Graphics;
public class Panel extends javax.swing.JPanel {
private int x1=201;
private int y1=50;
private int a1=201;
private int b1=150;
private int i=0;
private int r=0;
private int u=0;
private int z=0;

private int n;
private int n1;
private int x=199;
private int y=50;
private int am=199;
private int b=150;
private int x11=0;
private int y11=0;
private int a11=0;
private int b11=0;
private int va;
private int[] gg=new int[6];
private int[] vv=new int[6];

public void setva(int va) {
this.va = va;}
public void are(){
gg[0]=60;gg[1]=60;gg[2]=60;gg[3]=60;gg[4]=60;gg[5]=60;
vv[0]=60;vv[1]=80;vv[2]=100;vv[3]=120;vv[4]=140;vv[5]=160;}

public void entrar(){
this.are();int l=50;
if (this.va<=5){
for (int i=0;i<this.va;i++){
gg[i]+=l;
vv[i]=100;
l+=20;
}
}else{ n=50;n1=50;
} repaint();

}
public Panel() {        initComponents();
}
@Override
public void paint(Graphics g) {
super.paint(g);
g.drawRoundRect(130,23 , 130,23,40,40);
g.drawString(" piso", 134, 35);
String [] jj=new String[6];
jj[0]="1";
jj[1]="    2";
jj[2]="       3";
jj[3]="           4";
jj[4]="                5";
jj[5]="                     6";

try{
if(this.sub){

for(int i=0;i<50;i++){

Thread.sleep(10);
g.drawString(jj[0], 180, 40);

}
for(int i=0;i<40;i++){

Thread.sleep(20);
g.drawString(jj[1], 180, 40);

}
for(int i=0;i<50;i++){

Thread.sleep(10);
g.drawString(jj[2], 180, 40);

}
for(int i=0;i<50;i++){

Thread.sleep(20);
g.drawString(jj[3], 180, 40);

}
}repaint();
}
catch(InterruptedException e){ e.printStackTrace();}


g.drawRoundRect(130,23 , 130,23,40,40);

g.drawString(" piso", 134, 35);
jj[0]="4";
jj[1]="    3";
jj[2]="       2";
jj[3]="           1";
try{
if(this.sub1){

for(int i=0;i<50;i++){

Thread.sleep(10);
g.drawString(jj[3], 180, 40);

}
for(int i=0;i<40;i++){

Thread.sleep(20);
g.drawString(jj[2], 180, 40);

}
for(int i=0;i<50;i++){

Thread.sleep(10);
g.drawString(jj[1], 180, 40);

}
for(int i=0;i<50;i++){

Thread.sleep(20);
g.drawString(jj[0], 180, 40);

}
}repaint();
}
catch(InterruptedException e){ e.printStackTrace();}





g.setColor(Color.blue);
g.drawRoundRect(100,50 , 200,100,40,40);
g.drawLine(x11, y11, a11,b11);
//x11=0;y11=0;a11=0;b11=0;
g.drawLine(x, y, am, b);
g.drawLine(x1, y1, a1,b1 );
String [] a=new String [6];
a[0]="(o,o)";
a[1]="(o,o)";
a[2]="(o,o)";
a[3]="(o,o)";
a[4]="(o,o)";
a[5]="(o,o)";
clase obj=new clase (false);

String y11=obj.info();
g.drawString(y11, n,n1);
n=0;n1=0;
this.are();
this.entrar();
g.setColor(Color.blue);
g.drawString(a[0], gg[0],vv[0]);
g.drawString(a[1], gg[1],vv[1]);g.drawString(a[2],gg[2],vv[2]);
g.drawString(a[3], gg[3],vv[3]);g.drawString(a[4], gg[4],vv[4]);g.drawString(a[5],gg[5],vv[5]);
g.setColor(Color.red);
g.clearRect(i,u , r,z);
g.setColor(Color.YELLOW);
g.drawLine(x, y, am, b);
g.drawLine(x1, y1, a1,b1 );

}
public void Izquierda(){
this.x1=279;this.a1=279;this.x11=121;this.a11=279;this.y11=70;this.b11=70;this.x=121;this.am=121;
i=0;u=0;r=0;z=0;
repaint();
}
public void derecha(){
i=100;u=50;r=205;z=105;

this.x1=201;this.a1=201;this.x11=0;this.a11=0;this.y11=0;this.b11=0;this.x=199;this.am=199;
repaint();
}
private boolean sub,sub1;
public void su(){
if(sub==false)sub=true;
else sub=false;
repaint();
}
public void su1(){
if(sub1==false)sub1=true;
else sub1=false;
repaint();
}


}
package eleva;


public class robotpri1 extends javax.swing.JFrame {

public robotpri1() {
initComponents();
}


@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

CLASE EJECUTORA
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
int Xo = Integer.parseInt(this.textX1.getText());
panel1.setva(Xo);
panel1.entrar();   // TODO add your handling code here:
}    private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
panel1.su();
// TODO add your handling code here:
}
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
panel1.su1();
// TODO add your handling code here:
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new robotpri1().setVisible(true);
}
package eleva;
public class clase extends classs implements inter {
private static boolean a;
public clase() {
}
public clase(boolean a) {
this.a=a;
}

@Override
public void calculo(int s) {

if(s<=5)
this.a=true;
else this.a=false;
}
@Override
public String info() {
String d;
if (a){
d="ELEVADOR SUBIENDO";return d;
}else d="SOBRECARGA DE PESO";return d;}}
CLASE ABSTRACTA
package eleva;
public abstract class classs {
public abstract String info();
}
CLASE INTERFAZ
package eleva;
public interface inter {
public void calculo(int s);
}
EJECUCIÓN:


jueves, 1 de diciembre de 2011

PROGRAMAS DEL SEGUNDO PARCIAL





CAJERO AUTOMÁTICO
Este programa cajero automática realiza todas las operaciones que en verdad realiza los cajeros como son transferencias retiros y consultas además de cambio de contraseñas. A continuación  les presentamos el código:

Clase ejecutora
import java.io.*;
public class Cajero {
public static InputStreamReader Leer = new InputStreamReader(System.in);
public static BufferedReader Teclado = new BufferedReader(Leer);
public static void main(String[] args)throws IOException  {
int v=0;
poli [] car = new poli[4];
car[0]=new cuenta(4000,"CARLOS");
car[1]=new cuenta(5000,"DANIEL");
car[2]=new cuenta(5000,"JUAN");
car[3]=new cuenta(5000,"PEDRO");
poli [] car1 = new poli[4];
car1[0]=new transferencia(0,"CARLOS");
car1[1]=new transferencia(0,"DANIEL");
car1[2]=new transferencia(0,"JUAN");
car1[3]=new transferencia(0,"PEDRO");
//creacion de objetos para los usuarios
int aa=0;
int [] c=new int [5];
c[0]=1111;c[1]=2222;c[2]=3333;c[3]=4444;c[4]=5555;
int [] a=new int [5];
a[0]=111;a[1]=222;a[2]=333;a[3]=444;a[4]=555;

int aaa=0;boolean f=false;
do{
try{//manejo de execepciones
f=false;
do{
System.out.println(" INTRODUSCA CONTRACEÑA");
int urser=Integer.parseInt(Teclado.readLine());
for(int i=0;i<5;i++){
if(urser==c[i])
{v=i;

System.out.println(" BIENVENIDA A NUESTRO SISTEMA   ");
aa=1;
aaa=4;
car[i].info();}}
if(aa==0)
System.out.println(" comtraseña erronea  ");
if(aaa!=4){
System.out.println(" PRESIONE 3 PARA VOLVER");
aaa=Integer.parseInt(Teclado.readLine());
}}while(aaa==3);}

catch(NumberFormatException e ){f=true;

System.out.println(" ERROR COMTRACEÑA INVALIDA"+"SOLO NUMERO "+e);
}
}while(f);
if(aa==1){int op;
do{
System.out.println("QUE DESEA HACER 1:Transferencia***----2:RETIRO***----3:CONSULT*****-----4:CAMBIO DE COMTRACEÑA  ");
op=Integer.parseInt(Teclado.readLine());
//menu
switch (op) {
case 1://realiza transferencias de una cuenta a otra
boolean g=false;boolean veri,hh;

do{
try{veri=false;

System.out.println(" INTRODUSCA EL NUMERO DE CUENTA");
int urser=Integer.parseInt(Teclado.readLine());
do{
try{hh=false;
for(int i=0;i<5;i++){
if(urser==a[i]){g=true;

System.out.println(" introdusca la cantidad");
int can=Integer.parseInt(Teclado.readLine());

int k=car[v].set();
if(can<=k){
car[v].trans(can);
car1[i].trans(can);
car1[i].info();
}else System.out.println(" NO HAY SUFICIENTE DINERO");
}}}
catch(NumberFormatException e){hh=true;
System.out.println(" ERROR SOLO NUMERO******TIPO DE ERROR*****"+ e);

}}while(hh);
}catch(NumberFormatException e){veri=true;
System.out.println(" ERROR SOLO NUMERO******TIPO DE ERROR*****"+ e);

}}while(veri);
if(g==false)
System.out.println("    NUMERO DE CUENTA ERRONEO");
int sal=car[v].set();

System.out.println("    SU SALDO ES   "+sal);

break;
case 2://realiza retiros cuando el monto es mayor a 5$
boolean h;
do{h=false;
try{
System.out.println(" introdusca la cantidad");
int can=Integer.parseInt(Teclado.readLine());


if(can<=car[v].set()){
car[v].retiro(can);

}else System.out.println(" NO HAY SUFICIENTE DINERO");
int sald=car[v].set();

System.out.println("    SU SALDO ES   "+sald);
}catch(NumberFormatException e ){h=true;
System.out.println(" ERROR"+"SOLO NUMERO   "+e);
}}while(h);
break;
case 3:
//realiza las consultas de tu cuenta
System.out.println(" *************+BIENVENIDO+************* ");
car[v].info();
break;
case 4://realiza cambio de comtraceña
boolean vv,l=true,n=true;
do{
try{vv=false;
do{
System.out.println(" *********INGRESE LA CONTRASEÑA******** ");
int contra=Integer.parseInt(Teclado.readLine());
if(contra==c[v]){l=false;
do{
System.out.println(" *********INGRESE LA NUEVA CONTRASEÑA******** ");
contra=Integer.parseInt(Teclado.readLine());

System.out.println(" *********INGRESE NUEVAMENTE LA NUEVA CONTRASEÑA******** ");
int contras=Integer.parseInt(Teclado.readLine());
if(contra==contras){n=false;
System.out.println(" *********CONTRASEÑA CAMBIADA******** ");
c[v]=contra;
}else  System.out.println(" ********CONTRASEÑA ERRONEA TIENEN QUE SER IGUALES VUELVA A INTENTAR********* ");

}while(n);
}else System.out.println(" *********CONTRASEÑA ERRONEA BUELVA A INGRESAR******** ");
}while(l);
}catch(NumberFormatException e ){vv=true;
System.out.println(" ERROR"+"SOLO NUMERO   "+e);
}}while(vv);
} }while(op<5);   }}}
Clase hija
public class cuenta extends poli implements inter {
public static int in=5;
public cuenta(int saldo,String nombre) {
super(saldo,nombre);
//this.a=b;    }
@Override
public int set() {
return this.saldo;   }
@Override
public int trans( int a) {
if(a>5){
int o=(a*inp)/100 ;
this.saldo-=a+o;
}else System.out.println("NO SE PUEDE RETIRAR MENOS DE 5 $");   return this.saldo;}
@Override
public int consulta() {
return this.saldo;     }
@Override
public void retiro(int r) {
if(r>5){
int o=(r*in)/100 ;
this.saldo-=r+o;
}else System.out.println("NO SE PUEDE RETIRAR MENOS DE 5 $");
}
@Override
public void info() {
System.out.println("HOLA   "+this.nombre);
System.out.println("SU SALDO ES DE:   "+consulta());
}}
Clase transferencia
public class transferencia  extends poli  {
public static int in=5;
public transferencia(int saldo, String nombre) {
super(saldo, nombre);    }
@Override
public void retiro(int r) {
if(r>5){
int o=(r*in)/100 ;
this.saldo-=r+o;
}else System.out.println("NO SE PUEDE RETIRAR MENOS DE 5 $");    }
@Override
public int set() {
return this.saldo;
}@Override
public void info() {
System.out.println("EL SALDO TRANSFERIDO ES" +this.saldo);
}@Override
public int trans( int a) {
return this.saldo+=a;
}}
Clase Interface
public interface inter {
public  int consulta();
public int inp=12;}
Clase abstracta
public abstract class poli {
protected int saldo;
protected String nombre;
public poli(int saldo,String nombre) {
this.saldo = saldo;
this.nombre=nombre;}
public abstract int set();
public abstract int trans(int a);
public abstract void retiro(int r);
public abstract void info();}

EJECUCIÓN:


PROGRAMA DE POLIMORFISMO

En este programa aplicamos polimorfismo e interfaz, los procesos que realiza es todas los cálculos que se le hacen a las figuras Geométricas;
CLASE EJECUTORA
package practica;
import javax.swing.JOptionPane;
import java.io.*;
import java.util.Random;
public class Practica {
public static InputStreamReader leer= new InputStreamReader(System.in);
public static BufferedReader t = new BufferedReader(leer);
public static void main(String[] args)throws IOException {
Random aa=new Random();

Figura [] car = new Figura[4];
car[0]=new Linea("LINEA",12,10,20,30);
car[1]=new Poligono("POLIGONO",5,6,7);
car[2]=new Circulo("CIRCULO",4);
car[3]=new Rectangulo("RECTANGULO",3,4);

String salida="";
for(int i=0;i<4;i++){
int n= aa.nextInt(7);
salida+=car[i].Informacion();
System.out.println(n);
}
JOptionPane.showMessageDialog( null, salida );
}}
CLASE CIRCULO
package practica;
public class Circulo extends Figura implements Interface{
private double radio;
public Circulo (String n,int radio){
super(n);
this.radio= radio;}
@Override
public double area() {return  pi * Math.pow(radio,2);}
public double Diametro(){
return Math.pow(radio,2); }
@Override
public String Informacion() {
String salida="";


salida+="\n"+this.nombreFigura+"\n"+"\n EL AREA ES :"+this.area()+ "\n y su diametro es"  +this.Diametro()+"\n";
return salida; }}
CLASE LINEA
package practica;
public class Linea extends Figura {
private  int x1;
private  int x2;
private  int y1;
private  int y2;
public Linea(String nombreFigura, int x1, int x2, int y1, int y2) {
super(nombreFigura);
this.x1 = x1;
this.x2 = x2;
this.y1 = y1;
this.y2 = y2;}
public double Distancia(){
double r;
r=Math.sqrt(Math.pow((this.x2-this.x1),2)+Math.pow((this.y2-this.y1),2));
return r;  }
public String Pendiente (){
String aa="";
double p1;
p1=(this.x1+this.x2)/2;
double   p2=(this.y1+this.y2)/2;
aa+="EL PUNTO MEDIO ES :" +p1+" , "+p2;
return aa;
}
@Override
public String Informacion() {
String salida="";
salida+=this.nombreFigura+"\n"+"La distancia de la linea es :"+this.Distancia()+"\n y su punto medio es :"+this.Pendiente()+"\n";
return salida;}
}
CLASE POLIGONO
package practica;
public class Poligono extends Figura{
private int apotema;
private int lados;
private int longitud;
public Poligono(String nombreFigura, int apotema,int lados,int l) {
super(nombreFigura);
this.apotema = apotema;
this.lados=lados;
this.longitud=l;
}public double area() {
return (this.perimetro()*this.apotema)/2;
}
public double perimetro(){
return this.longitud*this.lados;
}
@Override
public String Informacion() {
String salida="";
salida+="\n"+this.nombreFigura+"\n"+"\n EL AREA ES :"+this.area()+ "\n y su perimetro del poli  ES"  +this.perimetro()+"\n";
return salida;   }}
CLASE INTERFACE
package practica;
public interface Interface   {
public double pi=3.1416;
public abstract double area();
}
CLASE RECTANGULO
package practica;
public class Rectangulo extends Figura implements Interface{
private int ancho;
private int alto;
public Rectangulo(String nombreFigura, int ancho, int alto) {
super(nombreFigura);
this.ancho = ancho;
this.alto = alto;}

@Override
public double area() { return this.alto*this.ancho;}
@Override
public String Informacion() {
String salida="";
salida+="\n"+super.nombreFigura+"\n"+"\n EL AREA ES :"+this.area()+"\n";
return salida;}
}
CLASE ABSTRACTA FIGURA
package practica;
public abstract class Figura {
protected String nombreFigura;
public Figura(String nombreFigura){
this.nombreFigura=nombreFigura;
}public abstract String Informacion();
}
EJECUCIÓN: