miércoles, 20 de julio de 2011

COLAS EN JAVA Y PROYECTOSDE AUTOS CHUTOS EN JAVA

COLAS.- EN LAS COLAS LOS ELEMENTOS PRIMEROS EN ENTRAR SON LOS ELEMENTOS PRIMEROS EN SALIR.


EJEMPLO

CLASE NODO

public class Nodo {

   //Atributos del la clase nodo
   Object Dato;
   Nodo Sig;
   //Constructor del nodo para crear un objeto
   public Nodo(Object Valor){
   Dato=Valor;
   Sig=null;
   }
   //Constructor del nodo para crear un objeto del siguiente nodo
   public Nodo(Object Valor,Nodo Sign){
   Dato=Valor;
   Sig=Sign;
   }

}

CLASE COLA

public class Cola extends Lista{
    //Atributo de nombre de la lista
    String Nombre;
    //Constructor argumento de la clase Cola
    public Cola(String n){
    Nombre=n;
    }
    //Asignacion de nombre a la clase cola
    public Cola(){
    this("Cola");
    }
   //Metodo para ingresar datos a la cola
    public void Colar(Object Elem){
    Iposterio(Elem);
    }
    //Metodo para mostar los datos de la clase cola
    public void MostrarC(){
    Nodo Actual=Pri;
    if(ListaVacia()){
    System.out.println("La "+Nombre+" esta vacia");
    }
    else{
    System.out.println("La "+Nombre+": ");
    while(Actual!=null){
    System.out.println("|"+Actual.Dato+"||");
    Actual=Actual.Sig;
    }
    System.out.println();
    }
    }
    //Metodo para eliminar los datos de la clase Cola
    public void DColar(){
    Efrente();
    }

}

PROYECTO AUTOS CHUTOS

EN ESTE PROYECTO TRATA DE REGISTRAR TODA AQUELLAS MOBILIDADES SIN SU DOCUMENTACION.
TRATA DE REGISTRAR AQUELLOS VEHICULOS QUE TENGAN REGISTRADOS TODOS SUS DATOS CORRESPONDIENTES.CASO CONTRARIO AQUELLOS VEHICULOS QUE NO HAIGAN COMPLETADO SU REGISTRO CORRESPONDIENTE SERAN DEPURADOS DEL SISTEMA.TAMBIEN CALCULA  EL IMPUESTO A PAGAR POR SU ANTIGÜEDAD DE LOS VEHICULOS.
POR EJEMPLO:
1  -    5 AÑOS  30% DEL COSTO DEL VEHICULO
6  -   10 AÑOS 35% DEL COSTO DEL VEHICULO
10-   11 AÑOS 50% DEL COSTO DEL VEHICULO


ESTE PROYECTO ESTA BASADO AL USO DE FORMULARIOS O APLICACIONES EN JAVA MEDIANTE BOTONES,ETIQUETAS,CAJAS DE 
TEXTO Y CAJA DE TEXTO TIPO LISTA.

EJEMPLO DE LA APLICACION:

CLASE NODO:

public class Nodo {
   
    //miembros de acceso del paquete; lista puede accseder a ellos directamento
    Object datos;//los datos para este nodo
    Nodo sig;//referencia al siguiente nodo de la lista
   
    //el constructor crea un objeto Nodo que hace referencia al objeto
    Nodo(Object objeto){
        this(objeto, null);
    }
    Nodo(Object intElemento, Nodo nodo){
        datos = intElemento;
        sig = nodo;
    }
    Object obtenerObject(){
        return datos;
    }
    Nodo obtenerSiguiente(){
        return sig;
    }
   
    }
    
CLASE LISTA:

public class Lista {
       
    private Nodo pri;
    private Nodo ult;
    private String nombre;
       
    public Lista(){
        this("lista");
    }
    public Lista(String NLista){
        nombre = NLista;
        pri = ult = null;
    }

    public boolean estaVacia(){
        return pri == null;
    }
    public void insertarAlFrente(Object intElemento){
       
        if(estaVacia())
            pri = ult = new Nodo(intElemento);
        else
            pri = new Nodo(intElemento, pri);
    }
    public void InsertarPosterior(Object intElemento){
       
        if(estaVacia())
            pri = ult = new Nodo(intElemento);
        else
            ult= ult.sig = new Nodo(intElemento);
    }
    public Object eliminarDelFrente() throws CasoListavacia{
        if(estaVacia())
           
            throw new CasoListavacia(nombre);
           
        Object elementoEliminado = pri.datos;
       
        if(pri == ult)
            pri = ult = null;
        else
            pri = pri.sig;
        return elementoEliminado;
    }
    public Object eliminarDelFinal() throws CasoListavacia{
       
        if(estaVacia())
           
            throw new CasoListavacia(nombre);
           
        Object AeliminarElemento = ult.datos;
           
        if(pri == ult)
            pri = ult = null;
        else{
            Nodo actual = pri;
           
            
        while(actual.sig != ult)
            actual = actual.sig;
       
        ult = actual;
        actual.sig = null;
        }
       return AeliminarElemento;
    }
   
    public void imprimir(){
       
        if(estaVacia()){
            System.out.printf("%s Vacia\n", nombre);
        return;
    }
        System.out.printf("La %s es: ", nombre);
        Nodo actual = pri;
       
        while(actual != null){
            System.out.printf("%s ", actual.datos);
            actual = actual.sig;
        }
        System.out.println("\n");
    }

        public class CasoListavacia extends RuntimeException{
       
         public CasoListavacia(){
            this("lista");
        }
         public CasoListavacia(String nombre){
             super(nombre + "Esta Vacia");
         }
        
    }


}


CLASE PROPIETARIO




public class Propietario {
     String Nombre;
     String Direccion;
     int Ci;

    public Propietario(){
        Nombre = Direccion = "";   Ci = 0;
    }
    public Propietario(String n, String d, int c){
        Nombre =n; Direccion = d; Ci = c;
    }
    public void setNombre(String n){Nombre =n;}
    public void setDireccion(String d){Direccion = d;}
    public void setCi(int c){Ci = c;}

    public String getNombre(){return Nombre;}
    public String getDireccion(){return Direccion;}
    public int getCi(){return Ci;}

    public String GetDatos(){
        return "Nombre: "+ Nombre + "\nDireccion: " + Direccion + "\nCI: "+ Ci;
    }
}

CLASE MOTORIZADO

class Motorizado extends Propietario{
     String Tipo;//referencia a que es el vehiculo si es motocicletas o autos
     String chasis;// numero entero
     String motor;//numero entero
     int modelo;//año de fabricacion del vehiculo
     String color;
     double costo;//pago anual
     int antiguedad;
   
    public Motorizado(){
        super("","",0);
        Tipo = color =chasis = motor = "";
         antiguedad =modelo=0;
        costo = 0.0;
        //super();
    }
    Motorizado( String N, String D, int C,String t, String ch, String mo, int m, String co, double cos, int an) {
        super(N,D,C);
        Tipo = t; chasis = ch; motor =mo; modelo = m; color =co; costo = cos; antiguedad = an;   
    }
    public void setTipo(String t){Tipo = t;}
    public void setChasis(String ch){chasis = ch;}
    public void setMotor(String mo){motor = mo;}
    public void setModelo(int m){modelo = m;}
    public void setColor(String co){color = co;}
    public void setCosto(double cos){costo = cos;}
    public void setCosto(int an){antiguedad = an;}
   
    public String getTipo(){return Tipo;}
    public String getChasis(){return chasis;}
    public String getMotor(){return motor;}
    public int getModelo(){return modelo;}
    public String getColor(){return color;}
    public double getCosto(){return costo;}
    public int getAntiguedad(){return antiguedad;}
   
    public double Coste(double costo, int an){
        if(an <= 5){
            return (costo*0.30);
        }else if(an >=6 && an <=10){
            return (costo * 0.35);
        }else
            return (costo * 0.50);
    }
    public String GetDatosVehiculo(){
        return super.GetDatos() +"\nTipo: "+Tipo+"\nChasis: "+chasis+"\nMotor: "+motor+"\nModelo: "+modelo+"\nColor: "+
                color+"\nCosto: "+costo+"\nAntiguedad: "+antiguedad+"\n\nCLIENTE:\n" ;
    }
}

COMO ESTE PROYECTO FUE CREADO EN FOMULARIOS EN JAVA UTILIZAREMOS BOTONES, ETIQUETAS DE TEXTO,CAJAS DE TEXTO Y LISTAS DE TEXTOS.

BOTON REGISTRAR

//este boton registra los datos que introducimos como tambien depura si falta alguno de ellos

private void BTNGUARDARActionPerformed(java.awt.event.ActionEvent evt) {                                          
    String pro = TXTPROPIETARIO.getText();
    String di = TXTDIRECCION.getText();
    int ci = Integer.parseInt(TXTCI.getText());
    String nch = TXTNUCHASIS.getText();
    String nmo = TXTNUMOTOR.getText();
    int mod = Integer.parseInt(TXTMODELO.getText());
    double cos = Double.parseDouble(TXTCOSTO.getText());
     String col = TXTCOLOR.getText();
     int ant  = Integer.parseInt(TXTANTIGUEDAD.getText());
     String tipo = cbxtipo.getText();


     Lista reg = new Lista("REGISTRO");
     Motorizado Obj =(new Motorizado(pro,di,ci,tipo,nch,nmo,mod,col,cos,ant) );

        TXTLISTA.append(Obj.GetDatosVehiculo());

     if (!pro.equals("") && !di.equals("") && ci!=0 && !nch.equals("") &&
             !nmo.equals("") && mod!=0 && cos!=0.0 && !col.equals("") && ant!=0 && !tipo.equals("")){
         TXTACEPTADOS.append(Obj.GetDatosVehiculo()+"TOTAL A PAGAR: "+Obj.Coste(cos, ant)+"\n");
     }
 else
     DEPURADOS.append(Obj.GetDatosVehiculo()+"TOTAL A PAGAR: "+Obj.Coste(cos, ant)+"\n");

    }       

BOTON BORRAR

private void BTNBORRARActionPerformed(java.awt.event.ActionEvent evt) {                                         
String limpiar = "";
TXTPROPIETARIO.setText(limpiar);
TXTDIRECCION.setText(limpiar);
TXTCI.setText(limpiar);
TXTNUCHASIS.setText(limpiar);
TXTNUMOTOR.setText(limpiar);
TXTCOLOR.setText(limpiar);
TXTCOSTO.setText(limpiar);
TXTANTIGUEDAD.setText(limpiar);
TXTMODELO.setText(limpiar);
cbxtipo.setText(limpiar);

        // TODO add your handling code here:

    } 



BOTON SALIR

//este boton termina la ejecucion de nuestro proyecto



private void BTNSALIRActionPerformed(java.awt.event.ActionEvent evt) {                                        

        System.exit(0);
        // TODO add your handling code here:
    }    

NUESTRO PROGRAMA SE MOSTRARA DE ESTA MANERA:



             


LISTAS DOBLEMENTE ENLAZADAS Y PILAS EN JAVA

Listas doblemente enlazadas
Una lista doblemente enlazada es una lista enlazada de nodos, donde cada nodo tiene un par de campos de enlace. Un campo de enlace permite atravesar la lista hacia adelante, mientras que el otro permite atravesar la lista haca atrás. Para la dirección hacia adelante, una variable de referencia contiene una referencia al primer nodo. Cada nodo se enlaza con el siguiente mediante el campo de enlace next, excepto el último nodo, cuyo campo de enlace nextcontiene null para indicar el final de la lista (en direccion hacia adelante). De forma similar, para la dirección contraria, una variable de referencia contiene una referencia al último nodo de la dirección normal (hacia adelante), lo que se interpreta como el primer nodo.

EJEMPLO:
CLASE NODO

public class Nodo {
  int dato;
Nodo adelante;
Nodo atras;
public Nodo(int entrada)
{
dato = entrada;
adelante = atras = null;
}
public int getDato()
{
return dato;
}public Nodo getEnlace()
{
return adelante;
}public void setEnlace(Nodo adelante)
{
this.adelante = adelante;
}
}

CLASE LISTA DOBLE

public class ListaDoble {
    Nodo cabeza;
public ListaDoble()
{
cabeza = null;
}public ListaDoble insertarCabezaLista(int entrada)
{
Nodo nuevo;
nuevo = new Nodo(entrada);
nuevo.adelante = cabeza;
if (cabeza != null )
cabeza.atras = nuevo;
cabeza = nuevo;
return this;
}public ListaDoble insertaDespues(Nodo anterior, int entrada)
{
Nodo nuevo;
nuevo = new Nodo(entrada);
nuevo.adelante = anterior.adelante;
if (anterior.adelante !=null)
anterior.adelante.atras = nuevo;
anterior.adelante = nuevo;
nuevo.atras = anterior;
return this;
}public void eliminar (int entrada)
{
Nodo actual;
boolean encontrado = false;
actual = cabeza;
// Bucle de búsqueda
while ((actual != null) && (!encontrado))
{
/* la comparación se realiza con el método equals()...,
depende del tipo Elemento */
encontrado = (actual.dato == entrada);
if (!encontrado)
actual = actual.adelante;
}// Enlace de nodo anterior con el siguiente
if (actual != null)
{
//distingue entre nodo cabecera o resto de la lista
if (actual == cabeza)
{
cabeza = actual.adelante;
if (actual.adelante != null)
actual.adelante.atras = null;
}else if (actual.adelante != null)
// No es el último nodo
{
actual.atras.adelante = actual.adelante;
actual.adelante.atras = actual.atras;
}else
// último nodo
actual.atras.adelante = null;
actual = null;
}
}public void visualizar()
{
Nodo n;
int k = 0;
n = cabeza;
while (n != null)
{
System.out.print(n.dato + "");
n = n.adelante;
k++;
System.out.print( (((k%10 != 0)&& (n!= null)) ? " " : "\n"));
}
}
}

MAIN PRINCIPAL

public class ListaDoble {
    Nodo cabeza;
public ListaDoble()
{
cabeza = null;
}public ListaDoble insertarCabezaLista(int entrada)
{
Nodo nuevo;
nuevo = new Nodo(entrada);
nuevo.adelante = cabeza;
if (cabeza != null )
cabeza.atras = nuevo;
cabeza = nuevo;
return this;
}public ListaDoble insertaDespues(Nodo anterior, int entrada)
{
Nodo nuevo;
nuevo = new Nodo(entrada);
nuevo.adelante = anterior.adelante;
if (anterior.adelante !=null)
anterior.adelante.atras = nuevo;
anterior.adelante = nuevo;
nuevo.atras = anterior;
return this;
}public void eliminar (int entrada)
{
Nodo actual;
boolean encontrado = false;
actual = cabeza;
// Bucle de búsqueda
while ((actual != null) && (!encontrado))
{
/* la comparación se realiza con el método equals()...,
depende del tipo Elemento */
encontrado = (actual.dato == entrada);
if (!encontrado)
actual = actual.adelante;
}// Enlace de nodo anterior con el siguiente
if (actual != null)
{
//distingue entre nodo cabecera o resto de la lista
if (actual == cabeza)
{
cabeza = actual.adelante;
if (actual.adelante != null)
actual.adelante.atras = null;
}else if (actual.adelante != null)
// No es el último nodo
{
actual.atras.adelante = actual.adelante;
actual.adelante.atras = actual.atras;
}else
// último nodo
actual.atras.adelante = null;
actual = null;
}
}public void visualizar()
{
Nodo n;
int k = 0;
n = cabeza;
while (n != null)
{
System.out.print(n.dato + "");
n = n.adelante;
k++;
System.out.print( (((k%10 != 0)&& (n!= null)) ? " " : "\n"));
}
}
}
//FIN 

PILAS.-  UNA PILA ES UNA ESTRUCTURADE DATOS QUE PERMITE ALMACENAR DATOS DEL MODO QUE EL ULTIMO DATO EN ENTRAR A LA PILA ES EL PRIMERO EN SALIR,COMO POR  EJEMPLO : UNA PILA DE PLATOS ,UNA PILA DE MONEDAS ETC. Y SE PUEDEN INSERTAR Y ELIMINAR SOLO POR UN EXTREMO(SUPERIOR) Y SOLO SE PUEDEN ELIMINAR EN UN ORDEN INVERSO AL QUE SE INSERTA EN LA PILA.



CLASE NODO

public class Nodo {

   //Atributos del la clase nodo
   Object Dato;
   Nodo Sig;
   //Constructor del nodo para crear un objeto
   public Nodo(Object Valor){
   Dato=Valor;
   Sig=null;
   }
   //Constructor del nodo para crear un objeto del siguiente nodo
   public Nodo(Object Valor,Nodo Sign){
   Dato=Valor;
   Sig=Sign;
   }

}

CLASE PILA

public class Pila extends Lista{
    //Atributo Nombre de la clase pila
    String Nombre;
    //Contructor con argumento de la clase pila
    public Pila(String n){
    Nombre=n;
    }
    //Ingresando nombre a la clase pila
    public Pila(){
    this("Pila");
    }
    //Metodo para insertar en la clase pila
    public void Pilar(Object Elem){
    Iposterio(Elem);
    }
    //Metodo de mostrar los datos de una pila
    public void MostrarP(){
    Nodo Actual=Pri;
    if(ListaVacia()){
    System.out.println("La "+Nombre+" esta vacia");
    }
    else{
    System.out.println("La "+Nombre+": ");
    while(Actual!=null){
    System.out.print("|"+Actual.Dato+"||");
    Actual=Actual.Sig;
    }
    System.out.println();
    }
    }
    //Metodo para eliminar un elemento de la pila
    public void DPilar(){
    Eposterior();
    }

}
//fin





LISTAS SIMPLES EN JAVA

LISTAS.-  UNA LISTA ES UNA SECUENCIA DE ELEMENTOS EN LAS QUE PODEMOS
INSERTAR Y ELIMINAR. LA LONGITUD DE LA LISTA PUEDE AUMENTARSE O REDUCIRSE CONFORME EL USUARIO LA CREA NECESARIO.




PASOS PARA CREAR UNA LISTA:
1.-CREAMOS LA CLASE NODO CON SU ATRIBUTOS PRI, ULT, SIGUIENTE
2.-LUEGO CREAMOS LA CLASE LISTA  CON SUS ATRINUTOS DE CLASE NODOS.
EJEMPLO:
CLASE  NODO:

public class Nodo {

   //Atributos del la clase nodo
   Object Dato;
   Nodo Sig;
   //Constructor del nodo para crear un objeto
   public Nodo(Object Valor){
   Dato=Valor;
   Sig=null;
   }
//Constructor del nodo para crear un objeto del siguiente nodo
   public Nodo(Object Valor,Nodo Sign){
   Dato=Valor;
   Sig=Sign;
   }

}



CLASE LISTA:

import javax.swing.JOptionPane;

public class Lista {
    //Atributos de la lista
    Nodo Pri;
    Nodo Ult;
    String Nom;
    //Constructor de la lista
    public Lista(String n){
    Pri=Ult=null;
    Nom=n;
    }
    //Constructor
    public boolean ListaVacia(){//EN CASO DE  QUE LA LISTA ESTE VACIA
    if(Pri==null){
        return true;
    }
    else{
        return false;
    }
    }
    //Nombre de la lista
    public Lista(){
    this("Lista");
    }
    //Metodo para insertar por el frente de la lista
    public void Ifrente(Object Elem){
    if(ListaVacia()){
    Pri=Ult=new Nodo(Elem);
    }
    else{
    Pri=new Nodo(Elem,Pri);
    }
    }
    //Metodo para insertar por la parte posterior de la lista
    public void Iposterio(Object Elem){
    if(ListaVacia()){
    Pri=Ult=new Nodo(Elem);
    }
    else{
    Ult=Ult.Sig=new Nodo(Elem);
    }
    }
    //Metodo para mostrar los datos de a lista
    public void Mostrar(){
    Nodo Actual=Pri;
    if(ListaVacia()){
    System.out.println("La "+Nom+" esta vacia");
    }
   
    while(Actual!=null){
    System.out.println(Actual.Dato);
    Actual=Actual.Sig;
    }
    }
    //Metodo para eliminar el frente de la lista
    public void Efrente(){
    if(ListaVacia()){
    Pri=Pri.Sig;
    }
    else if(Pri.equals(Ult)){
    Pri=Ult=null;
    }
    else{
    Pri=Pri.Sig;
    }
    }
    //Metodo para eliminar el posterior de la lista
    public void Eposterior(){
    if(ListaVacia()){
    Pri=Pri.Sig;
    }
    else if(Pri.equals(null)){
    Ult=null;
    }
    else{
    Pri=Pri.Sig;
    }
    }
}



jueves, 12 de mayo de 2011

mayor,menor,pares,impares,invertir,ordenar en un vector

package vectores;
import java.awt.TextArea;
import java.util.Random;
import javax.swing.JOptionPane;
/**
 *
 * @author borches
 */
public class Main {
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        int vector[]=new int[10];//creando un vector de 10 elementos
        String salida="vector de 10 elementos:\n\n";
        int pares=0;int impares=0;
        int mayor=vector[0];
        int menor=vector[0];
        int elemento=0;
        int aux=0;
        Random rnd = new Random();//metodo aleatorio
         for(int i=0;i<vector.length;i++){
            vector[i] = (int)(rnd.nextDouble() * 10+1);//ingresa datos aleatoriamente del 1-10
            elemento=vector[i];
            //calcula el mayor de los elementos
            if(elemento > mayor){
            mayor=elemento;
            }
           //calcula el menor de los elementos
           if(elemento < menor){
           menor=elemento;
           }
          //calculas los pares e impares del vector
           if(vector[i]%2==0){
           pares+=1;
           }
           else{
           impares+=1;
           }
           }
          
            //muestra el vector desordenado
          for(int i=0;i<vector.length;i++){
             salida+=vector[i]+"\t";
          }
            salida+="\n\n";
        salida+="cantidad de pares="+pares+"\n"+"cantidad de impares="+impares+"\n"+"el mayor es:"+mayor+"\n"+"el menor es:"+menor+"\n";
        salida+="el vector ordenado es :\n";
                      //ordenando el vector
                      for(int i=0;i<vector.length;i++){
                         for(int j=0;j<vector.length;j++){
                                  if(vector[i]<vector[j]){
                                     aux= vector[i];
                                       vector[i]=vector[j];
                                       vector[j]=aux;
                             }
                             
                         }
                        
                      }
                       //muestra el vector ordenado
                       for(int i=0;i<vector.length;i++){
                        salida+=vector[i]+"\t";
                       }
                      salida+="\n\nel vector invertido es es:\n";
        
                  //invertir vector
                  for(int i=9;i>=0;i--){
                      salida+=vector[i]+"\t";
                  }
                  
        TextArea areasalida=new TextArea();
        areasalida.setText(salida);
        JOptionPane.showMessageDialog(null,areasalida,"vectores",JOptionPane.INFORMATION_MESSAGE);
    }
}


   

invertir,mayor,menor,suma diagonal,ordenar,pare y impares de una matriz

package matrices;
import java.awt.TextArea;
import java.util.Random;
import javax.swing.JOptionPane;
/**
 *
 * @author borches
 */
public class Main {
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        int matriz[][]=new int[3][3];//creando una matriz de 3 x 3
        String salida="matriz de 3 filas y 3 columnas:\n\n";
        int pares=0;int impares=0;
        int mayor=matriz[0][0];
        int menor=matriz[0][0];
        int elemento=0;
        int aux=0;
        int sumar=0;
       
        Random rnd = new Random();//metodo aleatorio
         for(int i=0;i<matriz.length;i++){
          for(int j=0;j<matriz.length;j++){
              matriz[i][j] = (int)(rnd.nextDouble() * 10);
             
            elemento=matriz[i][j];
            //calcula el elemnto mayor de la matriz
            if(elemento > mayor){
            mayor=elemento;
            }
           //calcula el elemnto menor de la matriz
           if(elemento <= menor){
           menor=elemento;
           }
            //calcula los elementos pares e impares de la matriz
           if(matriz[i][j]%2==0){
           pares+=1;
           }
           else{
           impares+=1;
          }
          }
          }
          //muestra la matriz desordenada
        for(int i=0;i<matriz.length;i++){
            for( int j=0;j<matriz.length;j++){
             salida+=matriz[i][j]+"\t";
        }
          salida+="\n\n";
        }
        salida+="cantidad de pares="+pares+"\n"+"cantidad de impares="+impares+"\n"+"el mayor es:"+mayor+"\n"
                +"el menor es:"+menor+"\n";
        for(int i=0;i<matriz.length;i++){
            for( int j=0;j<matriz.length;j++){
                     if(i==j){
                         sumar=sumar+matriz[i][j];
                     }
           }
        }
        salida+="la suma de la diagonal del matriz es:"+sumar+"\n";
        salida+="la matriz ordenada es :\n\n";
        //ordenando la matriz en forma ascendente
        for(int i=0; i <matriz.length; i++){
         for(int j=0;j< matriz.length; j++){
         for(int x=0; x < matriz.length; x++){
         for(int y=0; y <matriz.length; y++){
          if(matriz[i][j] < matriz[x][y]){
            aux = matriz[i][j];
            matriz[i][j] = matriz[x][y];
            matriz[x][y] = aux;
        }
        }
        }
        }
        }
       
        //muestra la matriz ordenada
        for(int i=0;i<matriz.length;i++){
            for(int j=0;j<matriz.length;j++){
             salida+=matriz[i][j]+"\t"; 
        }
salida+="\n\n";
        }
        salida+="la matriz invertida es :\n";
        for(int i=2;i>=0;i--){
           for(int j=2;j>=0;j--){
           salida+=matriz[i][j]+"\t";
            }
           salida+="\n\n";
        }
        TextArea areasalida=new TextArea();
        areasalida.setText(salida);
        JOptionPane.showMessageDialog(null,areasalida,"matrices",JOptionPane.INFORMATION_MESSAGE);
       
            System.exit(0);
       
        }
}