Este blog fue creado con la intencion de aportar a los alumnos una ayuda con los ejercicios de la carrera de ingenieria de sistemas LEVI VELASQUEZ PAZ

Blogroll

lunes, 22 de enero de 2018

Gestores de distribucion













import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 *
 * @author USUARIO
 */
public class DistribucionDeComponentes {

    public static void main(String[] args) {
        new Distribucion();
    }
}

class Distribucion extends JFrame {

    JPanel panel1;
    JPanel panel2;
    JPanel a;

    Distribucion() {

        setBounds(200, 200, 700, 600);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        panel1 = new JPanel(new GridLayout(2, 0));
        panel1.add(new JLabel("Coordenadas X "));
        panel1.add(new JTextField("0.0"));
        panel1.add(new JLabel("Coordenadas Y "));
        panel1.add(new JTextField("1.0"));
        panel2 = new JPanel(new FlowLayout());
        panel2.add(new JButton("Calcular"));
        add(panel1, BorderLayout.SOUTH);
        add(panel2, BorderLayout.CENTER);
        construirBotones();
        add(a, BorderLayout.CENTER);
        pack();;
        setVisible(true);
    }

    void construirBotones() {
        a = new JPanel(new GridLayout(5, 3));
        JButton boton;
        for (int i = 0; i < 20; i++) {
            boton = new JButton("Aceptar");
            boton.setSize(200, 200);
            a.add(boton);
        }
    }
}


Share:

domingo, 21 de enero de 2018

EVENTOS GENERADOR POR LIST

8.5 Eventos generados por el componente List.

 Los eventos producidos por un componente de la clase List se manejan a través de una clase anidada que implementa la interface ItemListener y define el método itemStateChanged. Los elementos seleccionados pueden recuperarse como String usando los métodos getSelectedItem y getSelectedItemes. También pueden recuperarse los índices de los elementos seleccionados con getSelectedIndex y getSelectedIndexes .


import java.awt.*;
import java.awt.event.*;

class EventosListaSimple {

    Frame v;
    List lista;
    ManejaEventosListaSimple oyeLista;

    class ManejaEventosListaSimple implements ItemListener {

        public void itemStateChanged(ItemEvent e) {
            Object fuente = e.getSource();
            if (fuente == lista) {
                System.out.println(lista.getSelectedItem());
            }
        }
    }

    void forma() {
        v = new Frame();
        v.setLayout(new FlowLayout());
        lista = new List(4, false);
        lista.add("lunes");
        lista.add("martes");;
        lista.add("miercoles");
        lista.add("jueves");
        lista.add("viernes");
        lista.add("sabado");
        lista.add("domingo");
        lista.addItemListener(oyeLista = new ManejaEventosListaSimple());
        v.add(lista);
        v.pack();
        v.setVisible(true);
    }
}

public class PruebaEventosListaSimple {

    public static void main(String args[]) {
        EventosListaSimple pagina = new EventosListaSimple();
        pagina.forma();
    }
}

Share:

sábado, 20 de enero de 2018

PROGRAMACION CON EVENTOS

La clase InputEvent

  • De esta clase se derivan las clases KeyEvent y MouseEvent.
    Aquí se define el manejo de los modificadores de teclas y de ratón.
    Los modificadores son las teclas de control, mayúsculas, alternativa, meta y los botones del ratón:
  • Otros métodos:
    public boolean isShiftDown();
    public boolean isControlDown();
    public boolean isMetaDown();
    
  • Para saber en que instante ocurrió el evento usar el método:
    public long getWhen()


  • Para obtener los modificadores involucrados en un evento usar el método:
    public int getModifiers();
    Codigo
    InputEvent.ALT_MASK
    InputEvent.CTRL_MASK
    InputEvent.META_MASK
    InputEvent.SHIFT_MASK
    InputEvent.BUTTON1_MASK
    InputEvent.BUTTON2_MASK
    InputEvent.BUTTON3_MASK
    Ejemplo:
    InputEvent evt;
    if ((evt.getModifiers() & InputEvent.ALT_MASK) != 0) {
         // la tecla ALT estaba pulsada.
    }

    Manejo de los eventos de ratón

    • Clase de evento: MouseEvent.
    • Existen dos interfaces escuchadores de eventos de ratón:
      • MouseListener: todo menos movimiento.
      • MouseMotionListener: eventos de movimiento.
    • Métodos del interfaz MouseListener:
      public abstract void mousePressed(MouseEvent event);
      public abstract void mouseReleased(MouseEvent event);
      public abstract void mouseClicked(MouseEvent event);
      public abstract void mouseEntered(MouseEvent event);
      public abstract void mouseExited(MouseEvent event);
      
    • Métodos del interfaz MouseMotionListener:
      public abstract void mouseMoved(MouseEvent event);
      public abstract void mouseDragged(MouseEvent event);
      
    • Métodos de MouseEvent:
      public int getClickCount();
      public synchronized Point getPoint();
      public int getX();
      public int getY();

      Manejo de los eventos de teclado

      • Clase de evento: KeyEvent.
      • Debe implementarse el interfaz KeyListener.
        Tiene tres métodos:
        public abstract void keyTyped(KeyEvent event);
        public abstract void keyPressed(KeyEvent event);
        public abstract void keyReleased(KeyEvent event);
        
      • Métodos de la clase KeyEvent:
        public int getKeyCode()
        // devuelve el codigo de la tecla.
        
        public char getKeyChar()
        // devuelve el caracter de la tecla.
        // solo para teclas normales.
        
        public boolean isActionKey();
        // indica si es una tecla de accion:
        // F1..F12, home, flechas, etc.



Share:

sábado, 16 de diciembre de 2017

RECURSIVIDAD

Share:

Crear un arbol se pueda insertar , pre orden, enorden, post orden eliminar , numeroc de nodos

package proyectoarboles;

public class NodoArbol {

    private int info;
    private NodoArbol hi;
    private NodoArbol hd;

    public NodoArbol() {
    }

    public NodoArbol(int x) {
        info = x;
        hi = null;
        hd = null;
    }

    public NodoArbol(int info, NodoArbol hi, NodoArbol hd) {
        this.info = info;
        this.hi = hi;
        this.hd = hd;
    }

    public int getInfo() {
        return info;
    }

    public void setInfo(int info) {
        this.info = info;
    }

    public NodoArbol getHi() {
        return hi;
    }

    public void setHi(NodoArbol hi) {
        this.hi = hi;
    }

    public NodoArbol getHd() {
        return hd;
    }

    public void setHd(NodoArbol hd) {
        this.hd = hd;
    }

}
package proyectoarboles;

/**
 *
 * @author MARCELINO
 */
public class ArbolBB {

    private NodoArbol raiz;

    public ArbolBB() {
        raiz = null;
    }

    public boolean esVacio() {
        return raiz == null;
    }

    public void inserta(int x) {
        raiz = inserta(x, raiz);
    }

    private NodoArbol inserta(int x, NodoArbol r) {
        if (r == null) {
            r = new NodoArbol(x);
        } else if (x < r.getInfo()) {
            r.setHi(inserta(x, r.getHi()));
        } else if (x > r.getInfo()) {
            r.setHd(inserta(x, r.getHd()));
        }
        return r;
    }

    public void enOrden() {
        enOrden(raiz);
        System.out.println();
    }

    private void enOrden(NodoArbol r) {
        if (r != null) {
            enOrden(r.getHi());
            System.out.print(r.getInfo() + " ");
            enOrden(r.getHd());
        }
    }

    public void postOrden() {
        postOrden(raiz);
        System.out.println();
    }

    private void postOrden(NodoArbol r) {
        if (r != null) {
            postOrden(r.getHi());
            postOrden(r.getHd());
            System.out.print(r.getInfo() + " ");
        }
    }

    public void preOrden() {
        preOrden(raiz);
        System.out.println();
    }

    private void preOrden(NodoArbol r) {
        if (r != null) {
            System.out.print(r.getInfo() + " ");
            preOrden(r.getHi());
            preOrden(r.getHd());
        }
    }

    public int buscarMax() {
        return buscarMax(raiz);
    }

    private int buscarMax(NodoArbol r) {
        int x;
        if (r.getHd() == null) {
            x = r.getInfo();
        } else {
            x = buscarMax(r.getHd());
        }
        return x;
    }

    public int buscarMin() {
        return buscarMin(raiz);
    }

    private int buscarMin(NodoArbol r) {
        int x;
        if (r.getHi() == null) {
            x = r.getInfo();
        } else {
            x = buscarMin(r.getHi());
        }
        return x;
    }

    public int contar() {
        return contar(raiz);
    }

    private int contar(NodoArbol r) {
        if (r == null) {
            return 0;
        } else {
            return 1 + contar(r.getHi()) + contar(r.getHd());
        }
    }

    public void eliminaMin() {
        raiz = eliminaMin(raiz);
    }

    private NodoArbol eliminaMin(NodoArbol r) {
        if (r.getHi() == null) {
            r = r.getHd();
        } else {
            r.setHi(eliminaMin(r.getHi()));
        }
        return r;
    }

    public void elimina(int x) {
        raiz = elimina(x, raiz);
    }

    private NodoArbol elimina(int x, NodoArbol r) {
        if (r != null) {
            if (x < r.getInfo()) {
                r.setHi(elimina(x, r.getHi()));
            } else if (x > r.getInfo()) {
                r.setHd(elimina(x, r.getHd()));
            } else if (r.getHi() == null) {
                r = r.getHd();
            } else if (r.getHd() == null) {
                r = r.getHi();
            } else {
                r.setInfo(buscarMin(r.getHd()));
                r.setHd(eliminaMin(r.getHd()));
            }
        }
        return r;
    }

    public int alturaArbol() {
        return alturaArbol(raiz);
    }

    private int alturaArbol(NodoArbol r) {
        int ahi, ahd;
        if (r == null) {
            return -1;
        } else {
            ahi = 1 + alturaArbol(r.getHi());
            ahd = 1 + alturaArbol(r.getHd());
            if (ahi > ahd) {
                return ahi;
            } else {
                return ahd;
            }
        }
    }
}
package proyectoarboles;


import java.util.Scanner;
public class ProyectoArboles {

    public static void main(String[] args) {
        // TODO code application logic here
        int op, x;
        Scanner entrada = new Scanner(System.in);
        ArbolBB abb = new ArbolBB();

        do {
            System.out.println("Menu Arboles");
            System.out.println("[1] Insertar Arbol");
            System.out.println("[2] Pre Orden");
            System.out.println("[3] En Orden");
            System.out.println("[4] Post Orden");
            System.out.println("[5] Eliminar");
            System.out.println("[6] Numero de nodos");
            System.out.println("[7] altura del Arbol");
            System.out.println("[8] Maximo del arbol");
            System.out.println("[9] Minimo del arbol");
            System.out.println("[10] Salir");
            System.out.print("Ingrese opcion : ");
            op = entrada.nextInt();

            switch (op) {
                case 1:
                    System.out.print(" Ingrese numero : ");
                    x = entrada.nextInt();
                    abb.inserta(x);
                    break;
                case 2:
                    System.out.println(" Pre Orden");
                    abb.preOrden();
                    break;
                case 3:
                    System.out.println(" En Orden");
                    abb.enOrden();
                    break;
                case 4:
                    System.out.println(" Post Orden");
                    abb.postOrden();
                    break;
                case 5:
                    System.out.print(" Ingrese numero a eliminar: ");
                    x = entrada.nextInt();
                    abb.elimina(x);
                    break;
                case 6:
                    System.out.println(" El numero de nodos del arbol" + abb.contar());
                    break;
                case 7:
                    System.out.println(" La altura del arbol es : " + abb.alturaArbol());
                    break;
                case 8:
                    System.out.println(" Maximo elemento" + abb.buscarMax());
                    break;
                case 9:
                    System.out.println(" Minimo elemento" + abb.buscarMin());
                    break;
            }
        } while (op != 10);
    }
}

Share:

Ejercicios de colas

package proyectopilacola;
import java.util.Scanner;

public class EjerciciosCola {

    Scanner lec=new Scanner(System.in);

    public void Doncella(){
        Cola<Doncella> cola=new Cola();
        int i, talla;
        String nombre;
   
        System.out.print("Ingrese numero de doncellas: ");
        i=lec.nextInt();
   
        for(int c=0;c<i;c++){
            System.out.print("Doncella "+(c+1)+": ");
            lec.nextLine();
            nombre=lec.nextLine();
            System.out.print("Talla: ");
            talla=lec.nextInt();
            Doncella doncella=new Doncella(nombre,talla);
            cola.encolar(doncella);
        }
   
        System.out.print("Ingrese la talla de Cenicienta: ");
        talla=lec.nextInt();
   
        boolean ver=true;
   
        if(cola.esVacia()){
            System.out.println("No ingreso a ninguna doncella");
        }
        else{
            while(!cola.esVacia()&&ver==true){
                Doncella cenicienta=cola.desencolar();
                if(talla==cenicienta.getTalla()){
                    System.out.println(cenicienta);
                    ver=false;
                }
            }
            if(ver)
                System.out.println("Cenicienta no encontrada");
        }
    }

    public void colaPersonas(){
        Cola<Persona> cola= new Cola();
        int i,edad;
        String nombre;
        System.out.print("Cuantas persona desea ingresar: ");
        i=lec.nextInt();
        for(int c=0;c<i;c++){
            System.out.print(".Nombre: ");
            lec.nextLine();
            nombre=lec.nextLine();
            System.out.print(".Edad: ");
            edad=lec.nextInt();
            Persona persona=new Persona(nombre, edad);
            cola.encolar(persona);
        }
        // 1: Infantes[0-6] || 2: Niños[7-14]    || 3: Adolescentes[15-18]
        // 4: Jovenes[19-35]|| 5: Adultos[36-50] || 6: Adultos Mayores[51]
        if(cola.esVacia())
            System.out.println("La cola esta vacia");
        else{
            Cola<Persona> separar[]=new Cola[6];
            i=0;
            while(i<6){
                separar[i]=new Cola();
                i++;
            }
       
            while(!cola.esVacia()){
                Persona nuevo= cola.desencolar();
                edad=nuevo.getEdad();
                if(edad>=0&&edad<=6){
                    separar[0].encolar(nuevo);
                }
           
                else if(edad>=7&&edad<=14){
                    separar[1].encolar(nuevo);
                }
                else if(edad>=15&&edad<=18){
                    separar[2].encolar(nuevo);
                }
                else if(edad>=19&&edad<=35){
                    separar[3].encolar(nuevo);
                }
                else if(edad>=36&&edad<=50){
                    separar[4].encolar(nuevo);
                }
                else if(edad>=51){
                    separar[5].encolar(nuevo);
                }
        }
   
        for(i=0; i<6;i++){
            if(i==0&&!separar[0].esVacia()){
                System.out.println("      Fila de Infante [0-6]");
                System.out.println("      *********************");
            }
            else if(i==1&&!separar[1].esVacia()){
                System.out.println("      Fila de Niños [7-14]");
                System.out.println("      ********************");
            }
            else if(i==2&&!separar[2].esVacia()){
                System.out.println("      Fila de Adolescentes [15-18]");
                System.out.println("      ****************************");
            }
            else if(i==3&&!separar[3].esVacia()){
                System.out.println("      Fila de Jovenes [19-35]");
                System.out.println("      ***********************");
            }
            else if(i==4&&!separar[4].esVacia()){
                System.out.println("      Fila de Adultos [36-50]");
                System.out.println("      ***********************");
            }
            else if(i==5&&!separar[5].esVacia()){
                System.out.println("        Fila de Adultos Mayores [51]");
                System.out.println("      ****************************");
            }
            separar[i].Mostrar();
            System.out.println();
        }
   
        }
    }


    public void eliminarEntero(){
        Cola<Integer> cola=new Cola();
        int num,i;
   
        System.out.print("¿Cuantos numeros ingresara? : ");
        i=lec.nextInt();
        for(int c=0;c<i;c++){
            System.out.print("Numero ["+(c+1)+"]:");
            num=lec.nextInt();
            cola.encolar(num);
        }
   
        System.out.print("Ingrese el numero a eliminar: ");
        num=lec.nextInt();
   
        if(cola.esVacia())
            System.out.println("La cola esta vacia");
        else{
            int c=0;
            while(c<i){
                int numero=cola.desencolar();
                if(numero!=num)
                    cola.encolar(numero);
                c++;
            }
            cola.Mostrar();
        }
    }

    public void invertirNumero(){
        Cola<Integer> cola=new Cola();
   
        int num;
   
        System.out.print("Ingrese numero: ");
        num=lec.nextInt();
   
        while(num!=0){
            cola.encolar(num%10);
            num=num/10;
        }
        String numero="";
        while(!cola.esVacia()){
            numero=numero+cola.desencolar();
        }
        num=Integer.parseInt(numero);
        System.out.println("El numero invertido es: "+num);
    }

    public void elementosComunes(){
        Cola<Integer> cola1=new Cola();
        Cola<Integer> cola2=new Cola();
        int i, num;
        System.out.print("¿Cuantos numeros para la cola 1: ");
        i=lec.nextInt();
        for(int c=0;c<i;c++){
            System.out.print("Numero ["+(c+1)+"]: ");
            num=lec.nextInt();
            cola1.encolar(num);
        }
        System.out.print("¿Cuantos numeros para la cola 2: ");
        i=lec.nextInt();
        for(int c=0;c<i;c++){
            System.out.print("Numero ["+(c+1)+"]: ");
            num=lec.nextInt();
            cola2.encolar(num);
        }
        Cola<Integer> aux=new Cola();
        while(!cola1.esVacia()){
            num=cola1.desencolar();
            int c=0;
            while(c<i){
                int num1=cola2.desencolar();
                if(num==num1){
                    i--;
                    System.out.println(": "+num);
                    break;
                }
                cola2.encolar(num1);
                c++;
            }
        }
   
    }
    public void UnirColas(){
        Cola<Integer> cola=new Cola();
   
        int i,num,c;
        System.out.print("¿Cuantas colas ingresara?: ");
        i=lec.nextInt();
        Cola<Integer> colas[]=new Cola[i];
        for(c=0;c<i;c++){
            colas[c]=new Cola();
        }
        for(c=0;c<i;c++){
            int o;
            System.out.println("   COLA ["+(c+1)+"]");
            System.out.println("  **********");
            System.out.print("¿Cuantas datos ingresara?: ");
            o=lec.nextInt();
            for(int p=0;p<o;p++){
                System.out.print("Numero ["+(p+1)+"]: ");
                num=lec.nextInt();
                colas[c].encolar(num);
            }
        }
   
        for(c=0;c<i;c++){
            while(!colas[c].esVacia()){
                cola.encolar(colas[c].desencolar());
            }
        }
   
        System.out.println("    COLA TOTAL   ");
        System.out.println("    **********   ");
        cola.Mostrar();
   
   
    }

    public void ColaPrioridad(){
        ColaPrioridad<Integer> cola= new ColaPrioridad();
        int num,i;
        double prioridad;
        int op;
   
        do{
   
            System.out.println("[1]  Encolar");
            System.out.println("[2]  Desencolar");
            System.out.println("[3]  Mostrar");
            System.out.println("[4]  <<REGRESAR");
            do{
                System.out.print("::: Ingrese Opcion: ");
                op=lec.nextInt();
            }while(op<1||op>4);
       
            switch(op){
                case 1:
                    System.out.print("¿Cuantos numeros desea ingresar?: ");
                    i=lec.nextInt();
   
                    for(int c=0;c<i;c++){
                        System.out.print(". Numero["+(c+1)+"]: ");
                        num=lec.nextInt();
                        System.out.print(". Prioridad: ");
                        prioridad=lec.nextDouble();
                        cola.encolarP(num, prioridad);
                    }
                    break;
                case 2:
                    if(!cola.esVacia())
                        System.out.println("Se desencolo: "+cola.desencolar());
                    else
                        System.out.println("La cola esta vacia");
                    break;
                case 3:
                    cola.Mostrar();
                    break;
            }
   
        }while(op!=4);
   
    }



}
Share:

Crear una 2 colas para luego comparar los elemtos comunes

   public static void main(String[] args) {
         Scanner sc=new Scanner(System.in);
        Cola<Integer> cola1=new Cola();
         Cola<Integer> cola2=new Cola();
        System.out.println("Ingrese total elementos para primera cola");
        int total=sc.nextInt();
        System.out.println("INGRESE ELEMENTOS PARA PRIMERA COLA");
        for(int i=0;i<total;i++){
            System.out.println("Elmento ["+(i+1)+"] : ");
            int num=sc.nextInt();
            cola1.encolar(num);
        }
        System.out.println("INGRESE ELEMENTOS PARA SEGUNDA COLA");
        int d=sc.nextInt();
        for(int i=0;i<d;i++){
            System.out.println("Elemento ["+(1+i)+"] : ");
            int numero=sc.nextInt();
            cola2.encolar(numero);
        }
        int elemento1;
        int elemento2;
        int c ;
        System.out.println("ELEMENTOS COMUNES");
   
           while(!cola1.esVacia()){
               elemento1=cola1.desencolar();
               c = 0;
               while(c<total){
                   elemento2=cola2.desencolar();
                   if(elemento1==elemento2){
                       total--;
                       System.out.println(";"+elemento1);break;
                   }                
                   cola2.encolar(elemento2);
                   c++;
               }
           }
   
 
    }
   

}
Share:

Elementos comunes

*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Ejercicio7;

import Ejercicio1.Cola;
import java.util.Scanner;

/**
 *
 * @author l9531
 */
public class ElementosComunes {
    public static void main(String[] args) {
         Scanner sc=new Scanner(System.in);
        Cola<Integer> cola1=new Cola();
         Cola<Integer> cola2=new Cola();
        System.out.println("Ingrese total elementos para primera cola");
        int total=sc.nextInt();
        System.out.println("INGRESE ELEMENTOS PARA PRIMERA COLA");
        for(int i=0;i<total;i++){
            System.out.println("Elmento ["+(i+1)+"] : ");
            int num=sc.nextInt();
            cola1.encolar(num);
        }
        System.out.println("INGRESE ELEMENTOS PARA SEGUNDA COLA");
        for(int i=0;i<total;i++){
            System.out.println("Elemento ["+(1+i)+"] : ");
            int numero=sc.nextInt();
            cola2.encolar(numero);
        }
        int elemento1;
        int elemento2;
        System.out.println("ELEMENTOS COMUNES");
       for(int i=0;!cola1.esVacia();i++){
           elemento1=cola1.desencolar();
           for(int j=0;!cola2.esVacia();j++){
            elemento2=cola2.desencolar();
            if(elemento1==elemento2){
                System.out.println(elemento1);
            }
           }
       
       
       }
       
   
        System.out.println(" ");
   
    }


}
Share:

Invertir cola

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Ejercicio5;

import Ejercicio1.Cola;
import java.util.Scanner;


public class InvertirCola {
     public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        Cola<Integer> cola=new Cola();
         System.out.println("Ingrese cantidad de datos ");
         int can=sc.nextInt();
         for(int i=0;i<can;i++){
             System.out.println("Ingrese dato ["+1+i+"] fdg");
           int a=sc.nextInt();
             cola.encolar(a);
         }
         int a;
         System.out.println("Colas invertidas");
         while(!cola.esVacia()){
             a=cola.desencolar();
             System.out.println(a);                    
                       
         }
     

     
    }


}
Share:

Invertir numero en una cola

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Ejercicio4;

import Ejercicio1.Cola;
import java.util.Scanner;


/**
 *
 * @author l9531
 */
public class Invertir {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        Cola<Integer> cola=new Cola();
        System.out.println("Ingrese numero");
        int numero=sc.nextInt();
        int con=numero;
        while(numero!=0){
            cola.encolar(numero%10);
            numero=numero/10;
        }
     
        System.out.println("numero palindrome ");
        while(con!=0){
            int c=cola.desencolar();
            System.out.println(c);
            numero=numero/10;
        }
     
     
    }
 


}
Share:

Crear una cola donde se pueda ingresar un numero y el palindrome

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Ejercicio4;

import Ejercicio1.Cola;
import java.util.Scanner;


/**
 *
 * @author l9531
 */
public class Invertir {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        Cola<Integer> cola=new Cola();
        System.out.println("Ingrese numero");
        int numero=sc.nextInt();
        int con=numero;
        while(numero!=0){
            cola.encolar(numero%10);
            numero=numero/10;
        }
     
        System.out.println("numero palindrome ");
        while(con!=0){
            int c=cola.desencolar();
            System.out.println(c);
            numero=numero/10;
        }
     
     
    }
 
}
Share:

Todas las doncellas del reino hacen cola para probarse el zapato de la cenicienta. Si la talla es x diga ¿Quién es la cenicienta?

*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Ejercicio1;
import java.util.Scanner;


/**
 *
 * @author INGENIERIA
 */
public class ProyectoColas {

    public static void main(String[] args) {
    Scanner sc=new Scanner(System.in);
    Cola<Doncella> cola=new Cola();
    Doncella doncella;
    String nombre;
    boolean encontrado=false;
    int talla;
    int x=0;
    int da;
    System.out.print("Ingrese numero de doncellas");
    int num=sc.nextInt();
    while(x<num){
        System.out.print("Nombre");
        nombre=sc.next();
        System.out.println("Talla");
        talla=sc.nextInt();
        doncella=new Doncella(nombre, talla);
        cola.encolar(doncella);
        x++;
    }
    String no = "";
    System.out.println("Ingrese talla a buscar");
    talla=sc.nextInt();
    while(!cola.esVacia() && !encontrado){
       doncella=cola.desencolar();
       if(doncella.getTalla()==talla){
        no=doncella.getNombre();
           encontrado=true;
       }
    }
    if(encontrado){
        System.out.println("La doncella es "+no);
    }else{
        System.out.println("No se encontro la doncella");
    }
    }

}


CLASE DONCELLA
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Ejercicio1;

/**
 *
 * @author INGENIERIA
 */
public class Doncella {
   private String nombre;
    private int talla;
    public Doncella(String nombre, int talla){
        this.nombre=nombre;
        this.talla=talla;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public int getTalla() {
        return talla;
    }

    public void setTalla(int talla) {
        this.talla = talla;
    }
    
}





Share:

Crear una cola donde se pueda agregar, eliminar y mostra

Nodo Generico

public class Nodo<T> {

    private T info;
    private Nodo siguiente;

    public Nodo(T info) {
        this.info = info;
        siguiente = null;
    }

    public Nodo(T info, Nodo<T> siguiente) {
        this.info = info;
        this.siguiente = siguiente;
    }

    public T getInfo() {
        return info;
    }

    public void setInfo(T info) {
        this.info = info;
    }

    public Nodo getSiguiente() {
        return siguiente;
    }

    public void setSiguiente(Nodo<T> siguiente) {
        this.siguiente = siguiente;
    }
}

Clase

Cola Generica

public class Cola<T> {

    private Nodo<T> primero;
    private Nodo<T> ultimo;

    public Cola() {
        primero = null;
        ultimo = null;
    }

    public void encolar(T x) {
        Nodo<T> nuevo = new Nodo(x, null);
        if (primero == null) {
            primero = nuevo;
        } else {
            ultimo.setSiguiente(nuevo);
        }
        ultimo = nuevo;
    }

    public T desencolar() {
        T x;
        Nodo<T> temp;
        x = primero.getInfo();
        temp = primero;
        primero = primero.getSiguiente();
        temp = null;
        if (primero == null) {
            ultimo = null;
        }
        return x;
    }

    public void mostrar() {
        Nodo<T> p = primero;
        while (p != null) {
            System.out.println(p.getInfo());
            p = p.getSiguiente();
        }
    }

    public boolean esVacia() {
        if (primero == null) {
            return true;
        } else {
            return false;
        }
    }
}

Programa

que usa la cola:

import java.util.Scanner;

public class ProyectoColasGenericas {

    public static void main(String[] args) {
        int op, x;
        Scanner entrada = new Scanner(System.in);
        Cola<Integer> cola = new Cola();

        do {
            System.out.println("Menu Colas");
            System.out.println("[1] Encolar");
            System.out.println("[2] Desencolar");
            System.out.println("[3] Mostrar");
            System.out.println("[4] Salir");
            System.out.print("Ingrese opcion : ");
            op = entrada.nextInt();
            switch (op) {
                case 1:
                    System.out.print(" Ingrese numero : ");
                    x = entrada.nextInt();
                    cola.encolar(x);
                    break;
                case 2:
                    if (!cola.esVacia()) {
                        x = cola.desencolar();
                        System.out.println("Dato desencolado : " + x);
                    } else {
                        System.out.println("Lac cola esta vacia");
                    }
                    break;
                case 3:
                    System.out.println(" Datos de la cola");
                    cola.mostrar();
                    break;
            }
        } while (op != 4);
    }
}
Share:

modificar, eliminar , agregar y mostrar en una pila

package proyectopilas;

public class Nodo<T> {

    private T info;
    private Nodo siguiente;

    public Nodo(T info) {
        this.info = info;
        siguiente = null;
    }

    public Nodo(T info, Nodo<T> siguiente) {
        this.info = info;
        this.siguiente = siguiente;
    }

    public T getInfo() {
        return info;
    }

    public void setInfo(T info) {
        this.info = info;
    }

    public Nodo getSiguiente() {
        return siguiente;
    }

    public void setSiguiente(Nodo<T> siguiente) {
        this.siguiente = siguiente;
    }
}
package proyectopilas;

public class Pila<T> {

    private Nodo<T> primero;

    public Pila() {
        primero = null;
    }

    public void push(T x) {
        Nodo<T> nuevo = new Nodo(x);
        nuevo.setSiguiente(nuevo);
        primero = nuevo;
    }

    public T pop() {
        T x;
        Nodo<T> temp;
        x = primero.getInfo();
        temp = primero;
        primero = primero.getSiguiente();
        temp = null;
        return x;
    }

    public boolean esVacia() {
        return primero == null;
    }

    public void mostrar() {
        Nodo<T> p = primero;
        while (p != null) {
            System.out.println(p.getInfo());
            p = p.getSiguiente();
        }
    }
}
package proyectopilas;


import java.util.Scanner;
public class ProyectoPilas {

    public static void main(String[] args) {
        // TODO code application logic here
        int op, x;
        Scanner entrada = new Scanner(System.in);
        Pila<Integer> pila = new Pila();
        do {
            System.out.println("Menu Pilas");
            System.out.println("[1] Agregar");
            System.out.println("[2] Quitar");
            System.out.println("[3] Mostrar");
            System.out.println("[4] Salir");
            System.out.print("Ingrese opcion : ");
            op = entrada.nextInt();
            switch (op) {
                case 1:
                    System.out.print(" Ingrese numero : ");
                    x = entrada.nextInt();
                    pila.push(x);
                    break;
                case 2:
                    if (!pila.esVacia()) {
                        x = pila.pop();
                        System.out.println("Dato desenpilado : " + x);
                    } else {
                        System.out.println("Lac pila esta vacia");
                    }
                    break;
                case 3:
                    System.out.println(" Datos de la pila");
                    pila.mostrar();
                    break;
            }
        } while (op != 4);
    }

}

Share:

Crear una lista simple para agregar elementos


public class Nodo {

    private double info;
    private Nodo siguiente;

    public Nodo() {
        siguiente = null;
    }

    public Nodo(double x) {
        siguiente = null;
        info = x;
    }

    public Nodo(double x, Nodo siguiente) {
        info = x;
        this.siguiente = siguiente;

    }

    public double getInfo() {
        return info;
    }

    public void setInfo(double info) {
        this.info = info;
    }

    public Nodo getSiguiente() {
        return siguiente;
    }

    public void setSiguiente(Nodo siguiente) {
        this.siguiente = siguiente;
    }
}

public class ListaEnlazada {

    protected Nodo primero;

    public ListaEnlazada() {
        primero = null;
    }

    public Nodo getPrimero() {
        return primero;
    }

    public void setPrimero(Nodo primero) {
        this.primero = primero;
    }

    public void insertarAlInicio(double x) {
        Nodo nuevo = new Nodo(x);
        nuevo.setSiguiente(primero);
        primero = nuevo;
    }

    public void insertaAlFinal(double x) {
        Nodo nuevo = new Nodo(x);
        Nodo p;

        if (primero == null) {
            primero = nuevo;
        } else {
            p = primero;
            while (p.getSiguiente() != null) {
                p = p.getSiguiente();
            }
            p.setSiguiente(nuevo);
        }
    }

    public void mostrar() {
        Nodo p = primero;
        while (p != null) {
            System.out.println(p.getInfo());//mostramos el dato
            p = p.getSiguiente();
        }
    }

    public String toString() {
        String contenido = "";
        Nodo p = primero;
        while (p != null) {
            contenido += p.getInfo() + "\n"; //guardamos el dato
            p = p.getSiguiente();
        }

        return contenido;
    }

}

public class ProyectoListasEnlazadas {

    public static void main(String[] args) {

        Scanner entrada = new Scanner(System.in);
        ListaEnlazada lista = new ListaEnlazada();
        int i, n;
        double x;
        System.out.print("Numero de elementos de la lista : ");
        n = entrada.nextInt();
        for (i = 0; i < n; i++) {
            System.out.print(" Ingrese numero : ");
            x = entrada.nextDouble();
            lista.insertaAlFinal(x);
        }
        lista.mostrar();
    }
}

Share:

Otro ejemplo


import java.io.*;

public class Producto {

    private String codigo;
    private String descripcion;
    private double precio;
    private int stock;

    public Producto() {
        setCodigo(null);
        setDescripcion(null);
        setPrecio(0);
        setStock(0);
    }

    public Producto(String codigo, String descripcion, double precio, int stock) {
        this.setCodigo(codigo);
        this.setDescripcion(descripcion);
        this.setPrecio(precio);
        this.setStock(stock);
    }

    public String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public double getPrecio() {
        return precio;
    }

    public void setPrecio(double precio) {
        this.precio = precio;
    }

    public int getStock() {
        return stock;
    }

    public void setStock(int stock) {
        this.stock = stock;
    }

    public void escribir(RandomAccessFile archivo) throws IOException {
        if (codigo.length() < 10) {
            for (int i = codigo.length(); i < 10; i++) {
                codigo = codigo + " ";
            }
        } else {
            codigo = codigo.substring(0, 10);
        }

        if (descripcion.length() < 50) {
            for (int i = descripcion.length(); i < 50; i++) {
                descripcion = descripcion + " ";
            }
        } else {
            descripcion = descripcion.substring(0, 50);
        }

        archivo.writeChars(codigo);
        archivo.writeChars(descripcion);
        archivo.writeDouble(precio);
        archivo.writeInt(stock);
    }

    public void leer(RandomAccessFile archivo) throws IOException {
        codigo = "";
        for (int i = 0; i < 10; ++i) {
            codigo += archivo.readChar();
        }
        descripcion = "";
        for (int i = 0; i < 50; ++i) {
            descripcion += archivo.readChar();
        }
        precio = archivo.readDouble();
        stock = archivo.readInt();
    }

    public int tamañoRegistro() {
        return 132;
    }

    public static void crearArchivoProductos() {
        File f = new File("d:\\productos.dat");
        if (!f.exists()) {
            try {
                RandomAccessFile fProductos = new RandomAccessFile("d:\\productos.dat", "rw");
                fProductos.close();
            } catch (Exception ex) {
            }
        }
    }

    public Producto buscarProducto(String codigo) throws IOException {
        RandomAccessFile fProductos = new RandomAccessFile("d:\\productos.dat", "r");
        // seek(# de Bytes a recorrer)
        fProductos.seek(0);
        boolean exito = false;
        // fproductos.getFilePointer(): Devuelve el numero de bytes
        // que ha recorrido el puntero del archivo
        // En otras me devuelve la posicion actual del puntero

        while (fProductos.getFilePointer() < fProductos.length()) {
            this.leer(fProductos);
            // trim() : Funcion de cadena que elimina los espacios en blanco
            // compareToIgnoreCase(cadena) : no distingue mayusculas y minusculas
            if (this.codigo.trim().compareToIgnoreCase(codigo.trim()) == 0) {
                exito = true;
                break;
            }

        }

        fProductos.close();
        if (exito) {
            return this;
        } else {
            return null;
        }
    }

    public int buscarProducto1(String codigo) throws IOException {
        RandomAccessFile fProductos = new RandomAccessFile("d:\\productos.dat", "r");
        int pos, x = -1;
        fProductos.seek(0);
        pos = (int) fProductos.getFilePointer();
        while (fProductos.getFilePointer() < fProductos.length()) {
            this.leer(fProductos);
            if (this.codigo.trim().compareToIgnoreCase(codigo.trim()) == 0) {
                x = pos;
                break;
            }
            pos = (int) fProductos.getFilePointer();
        }
        fProductos.close();
        return x;
    }

    public Producto devolverProducto(int pos) throws IOException {
        RandomAccessFile fProductos = new RandomAccessFile("d:\\productos.dat", "rw");
        fProductos.seek(pos);
        this.leer(fProductos);
        fProductos.close();
        return this;
    }

    public void modificaRegistro(int pos, String codigo, String descripcion, double precio, int stock) throws IOException {
        RandomAccessFile fProductos = new RandomAccessFile("d:\\productos.dat", "rw");
        fProductos.seek(pos);
        this.codigo = codigo;
        this.descripcion = descripcion;
        this.precio = precio;
        this.stock = stock;
        this.escribir(fProductos);
        fProductos.close();
    }

    public void agregar() throws IOException {
        RandomAccessFile fProductos = new RandomAccessFile("d:\\productos.dat", "rw");
        // fproductos.seek : direccion el puntero del archivo en un determinado registro
        // de acuerdo un numero de bytes
        fProductos.seek(fProductos.length());
        // fProductos.length : Me devuelve el tamaño en bytes del Archivo
        this.escribir(fProductos);
        fProductos.close();
    }

    public boolean eliminaRegistro(String codigo) throws IOException {
        RandomAccessFile fProductos = new RandomAccessFile("d:\\productos.dat", "r");
        RandomAccessFile auxiliar = new RandomAccessFile("d:\\auxiliar.dat", "rw");
        fProductos.seek(0);
        boolean exito = false;
        while (fProductos.getFilePointer() < fProductos.length()) {
            this.leer(fProductos);
            if (this.codigo.trim().compareToIgnoreCase(codigo.trim()) != 0) {
                this.escribir(auxiliar);
            } else {
                exito = true;
            }
        }
        fProductos.close();
        auxiliar.close();
        File archivo = new File("d:\\productos.dat");
        archivo.delete();
        File archivoaux = new File("d:\\auxiliar.dat");
        archivoaux.renameTo(archivo);
        return exito;
    }

    public int numeroDeRegistros() throws IOException {
        RandomAccessFile fProductos = new RandomAccessFile("d:\\productos.dat", "r");
        int n = (int) fProductos.length() / this.tamañoRegistro();
        fProductos.close();
        return n;

    }

    public String toString() {
        return codigo.trim() + " " + descripcion.trim() + " " + precio + " " + stock;
    }

    public void imprimir() throws IOException {
        RandomAccessFile fProductos = new RandomAccessFile("d:\\productos.dat", "r");
        // seek(# de Bytes a recorrer)
        fProductos.seek(0);

        while (fProductos.getFilePointer() < fProductos.length()) {
            this.leer(fProductos);
            System.out.println(this);
        }

        fProductos.close();
    }

}



import java.io.*;
class ArchivoAleatorio {

    public static void main(String args[]) throws IOException {
        // se llama crearArchivoProductos porque es estatico
        Producto.crearArchivoProductos();

        new Producto("001", "alfa", 12.5, 10).agregar();
        new Producto("002", "beta", 13.9, 10).agregar();
        Producto prod = new Producto();

        if (prod.buscarProducto("001") != null) {
            System.out.println("El codigo existe");
        } else {
            System.out.println("El codigo no existe");
        }

        prod.imprimir();

    }
}

Share:

Programa para convertir un numero de base 10 a base b (entre 2 y 9)


import java.util.*;

class recursividad06 {

    public static void conversionBase(int n, int b) {
        if (n < b) {
            System.out.print(n);
        } else {
            conversionBase(n / b, b);
            System.out.print(n % b);
        }
    }

    public static void main(String args[]) throws IOException {
        Scanner in = new Scanner(System.in);
        int num, b;
        do {
            System.out.print("Ingrese numero :");
            num = Integer.parseInt(br.readLine());
        } while (num <= 0);
        do {
            System.out.print("Base a la que quiere convertir : ");
            b = Integer.parseInt(br.readLine());
        } while (b < 2 || b > 9);
        System.out.print("El numero " + num + " en base " + b + " es : ");
        conversionBase(num, b);
        System.out.println();
    }
}

Share:

Programa para reportar un numero al reves


import java.util.Scanner;

class recursividad05 {

    public static void reves(int n) {
        System.out.print(n % 10);
        if (n / 10 != 0) {
            reves(n / 10);
        }
    }

    public static void main(String args[]) throws IOException {
        Scanner in = new Scanner(System.in);
        int num;

        do {
            System.out.print("Ingrese numero :");
            num = in.nextInt();
        } while (num <= 0);
        System.out.print("Numero al reves :");
        reves(num);
        System.out.println();
    }
}

Share:

Programa para calcular el máximo común divisor de dos números.


import java.util.Scanner;

class Recursividad04 {

    public static int mcd(int a, int b) {
        if (a % b == 0) {
            return b;
        } else {
            return mcd(b, a % b);
        }
    }

    public static void main(String args[]) {
        Scanner in = new Scanner(System.in);
        int x, y;
        do {
            System.out.print("Ingrese primer numero :");
            x = in.nextInt();
        } while (x <= 0);
        do {
            System.out.print("Ingrese segundo numero :");
            y = in.nextInt();
        } while (y <= 0);
        System.out.println("El mcd de " + x + " y " + y + " es : " + mcd(x, y));
    }
}

Share:

Buscar este blog

Con tecnología de Blogger.

Blog Archive

Blog Archive