Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - ElMike

Páginas: [1]
1
Amigo Kabuto, ya hice el ajuste, solo que al llamar al procedimiento de la clase pila, me marca error, no puedo completar el menu por que no reconoce el llamado, el cual realizo asi.

pila.apilar();
pila.retirar();

Anexo el código con el ajuste que me indicas:

Clase Principal Menú

Código: [Seleccionar]
package menu;


import java.util.Scanner;


public class Menu {

private static Pila pila = new Pila();
private static Scanner teclado = new Scanner(System.in);

public static void main(String[] args) {

int opcion = 0;

while (opcion != 11) {

System.out.println("\n\t\tMENU PILA\n");
System.out.println("[1] -- Es vacia");
System.out.println("[2] -- Tamaño de la pila");
System.out.println("[3] -- Guardar un nuevo registro (apilar)");
System.out.println("[4] -- Eliminar un elemento de la pila(retirar)");
System.out.println("[5] -- El ultimo elemento de la pila(cima)");
System.out.println("[6] -- Buscar");
System.out.println("[7] -- Remover un elemento de la pila");
System.out.println("[8] -- Editar, cambiar un elemento de la pila por otro valor");
System.out.println("[9] -- Eliminar la pila");
System.out.println("[10] -- Listar elementos contenidos en las pilas");
System.out.println("[11] -- Salir");
System.out.print("Elija opcion: ");
opcion = teclado.nextInt();

switch(opcion) {
case 1:
System.out.println(pila.esVacio()?"La pila esta vacia":"La pila NO esta vacia");
break;
case 2:
System.out.println("Tamaño pila: " + pila.getTamanio());
break;
case 3:
                            pila.apilar();
break;
case 4:
                            System.out.println("Ingrese el elemento a eliminar") pila.retirar();
break;
case 5:
break;
case 6:
break;
case 7:
break;
case 8:
break;
case 9:
break;
case 10:
break;
case 11:
System.out.println("\n\t\tFIN DE PROGRAMA");
break;
default:
System.out.println("\nOpcion equivocada...");
}
}

}

}

Java Class Pila

Código: [Seleccionar]
package menu;

public class Pila {
   
     //Definiendo los atributos de la pila
   
    private Nodo inicio;
   
    private int tamanio;

    //Constructor
    public void Pila(){
        inicio=null;
        tamanio=0;
    }
   
    /** Consulta si la pila esta vacia
    *@return true si el primer nodo (inicio), no apunta a otro nodo.
    */
    public boolean esVacio(){
        return inicio==null;
    }
   
     /**
     * Consulta cuantos elementos (nodos) tiene la pila.
     * @return numero entero entre (0,n)donde n es el numero de elementos
     * que contenga la lista
     */
    public int getTamanio(){
        return tamanio;       
    }
   
     public void apilar(int valor){
     //Definir nuevo nodo
     Nodo nuevo= new Nodo();
     //Agrega al valor Nodo
     nuevo.setValor(valor);
     //Consultar si la pila esta vacia.
     
     if(esVacio()){
         //Inicializa la pila con el nuevo valor
         inicio=nuevo;
     }
     //en caso contrario agrega el nuevo nodo al inicio de la pila
     else{
         nuevo.setSiguiente(inicio);
         inicio= nuevo;
        }
     //Incrementa el contador del tamaño de la pila
        tamanio++;
     }   
    //Elimina el elemento que se encuentra en el tope de la pila
    public void retirar(){
        if(!esVacio()){
            //Asigna como primer nodo al siguiente de la pila
            inicio= inicio.getSiguiente();
            //Decremento de la variable del contador del tamaño de la pila
            tamanio--;
           
        }
    }

    //Metodo que regresa el valor que esta en la cima de la pila
   
    public int cima() throws Exception{
    if(!esVacio()){
        return inicio.getValor();
        }   
    else
        {
        throw new Exception("La pila se encuentra vacia");
        }
    }
   
    public boolean buscar(int referencia){
        //Crear una copia de la pila
        Nodo aux = inicio;
        //Verificar si existe el elemento a buscar
        boolean existe= false;
       
        //Recorre la pila hasta llegar a encontrar el nodo o
        //llegar al final de la pila
       
        while(existe !=true && aux!=null){
            //Compara si el valor del nodo es igual al valor de la referencia
            if(referencia==aux.getValor()){
                existe=true;
            }
            else
            {
                //Avanza al siguiente nodo
                aux= aux.getSiguiente();
            }
        }
        return existe;
    }

   }   

Java Class Nodo

Código: [Seleccionar]
package menu;


class Nodo {
      //Definir los atributos
    private int valor;
    private Nodo siguiente;
   
    //Constructor
   
    public Nodo(){
    this.valor=0;
    this.siguiente=null;
    }
   
    //Metodos get y set
   
    public int getValor(){
        return valor;
    }
   
    public Nodo getSiguiente(){
        return siguiente;
    }
   
    public void setValor(int valor){
        this.valor= valor;
    }
   
    public void setSiguiente(Nodo siguiente){
        this.siguiente = siguiente;
    }
   
   
}


2
Creo que estoy muy wey, por que me marca error al llamar las clases, me puedes ayudar por favor?

Esto es lo que he realizado:

Función principal Menú

Código: [Seleccionar]
package menu;

import java.util.Scanner;

public class Menu {

private static Pila pila = new Pila();
private static Scanner teclado = new Scanner(System.in);

public static void main(String[] args) {

int opcion = 0;

while (opcion != 11) {

System.out.println("\n\t\tMENU PILA\n");
System.out.println("[1] -- Es vacia");
System.out.println("[2] -- Tamaño de la pila");
System.out.println("[3] -- Guardar un nuevo registro (apilar)");
System.out.println("[4] -- Eliminar un elemento de la pila(retirar)");
System.out.println("[5] -- El ultimo elemento de la pila(cima)");
System.out.println("[6] -- Buscar");
System.out.println("[7] -- Remover un elemento de la pila");
System.out.println("[8] -- Editar, cambiar un elemento de la pila por otro valor");
System.out.println("[9] -- Eliminar la pila");
System.out.println("[10] -- Listar elementos contenidos en las pilas");
System.out.println("[11] -- Salir");
System.out.print("Elija opcion: ");
opcion = teclado.nextInt();

switch(opcion) {
case 1:
System.out.println(pila.esVacio()?"La pila esta vacia":"La pila NO esta vacia");
break;
case 2:
System.out.println("Tamaño pila: " + pila.getTamanio());
break;
case 3:
                            pila.apilar();
break;
case 4:
                            System.out.println("Ingrese el elemento a eliminar") pila.retirar();
break;
case 5:
break;
case 6:
break;
case 7:
break;
case 8:
break;
case 9:
break;
case 10:
break;
case 11:
System.out.println("\n\t\tFIN DE PROGRAMA");
break;
default:
System.out.println("\nOpcion equivocada...");
}
}

}

}

Clase Pila "Me marco en unas lineas un error al final de la clase"

Código: [Seleccionar]
package menu;

public class Pila {
   
     //Definiendo los atributos de la pila
   
    private Nodo inicio;
   
    private int tamanio;

    //Constructor
    public void Pila(){
        inicio=null;
        tamanio=0;
    }
   
    /** Consulta si la pila esta vacia
    *@return true si el primer nodo (inicio), no apunta a otro nodo.
    */
    public boolean esVacio(){
        return inicio==null;
    }
   
     /**
     * Consulta cuantos elementos (nodos) tiene la pila.
     * @return numero entero entre (0,n)donde n es el numero de elementos
     * que contenga la lista
     */
    public int getTamanio(){
        return tamanio;       
    }
   
     public void apilar(int valor){
     //Definir nuevo nodo
     Nodo nuevo= new Nodo();
     //Agrega al valor Nodo
     nuevo.setValor(valor);
     //Consultar si la pila esta vacia.
     
     if(esVacio()){
         //Inicializa la pila con el nuevo valor
         inicio=nuevo;
     }
     //en caso contrario agrega el nuevo nodo al inicio de la pila
     else{
         nuevo.setSiguiente(inicio);
         inicio= nuevo;
        }
     //Incrementa el contador del tamaño de la pila
        tamanio++;
     }   
    //Elimina el elemento que se encuentra en el tope de la pila
    public void retirar(){
        if(!esVacio()){
            //Asigna como primer nodo al siguiente de la pila
            inicio= inicio.getSiguiente();
            //Decremento de la variable del contador del tamaño de la pila
            tamanio--;
           
        }
    }

    //Metodo que regresa el valor que esta en la cima de la pila
   
    public int cima() throws Exception{
    if(!esVacio()){
        return inicio.getValor();
        }   
    else
        {
        throw new Exception("La pila se encuentra vacia");
        }
    }
   
    public boolean buscar(int referencia){
        //Crear una copia de la pila
        Nodo aux = inicio;
        //Verificar si existe el elemento a buscar
        boolean existe= false;
       
        //Recorre la pila hasta llegar a encontrar el nodo o
        //llegar al final de la pila
       
        while(existe !=true && aux!=null){
            //Compara si el valor del nodo es igual al valor de la referencia
            if(referencia==aux.getValor()){
                existe=true;
            }
            else
            {
                //Avanza al siguiente nodo
                aux= aux.getSiguiente();
            }
        }
        return existe;
    }

    String getTamanio() {
        throw new UnsupportedOperationException("Not supported yet."); // Generated from nbfs://nbhost/SystemFileSystem/Templates/Classes/Code/GeneratedMethodBody
    }
}   

Clase nodo

Código: [Seleccionar]
package menu;


class Nodo {
      //Definir los atributos
    private int valor;
    private Nodo siguiente;
   
    //Constructor
   
    public Nodo(){
    this.valor=0;
    this.siguiente=null;
    }
   
    //Metodos get y set
   
    public int getValor(){
        return valor;
    }
   
    public Nodo getSiguiente(){
        return siguiente;
    }
   
    public void setValor(int valor){
        this.valor= valor;
    }
   
    public void setSiguiente(Nodo siguiente){
        this.siguiente = siguiente;
    }
   
   
}

Perdón por la molestia, llevo ya un par de horas y simplemente no que queda.

Gracias por tus atenciones,
ElMike


3
Estimados amigos, buenas tardes, acudo a ustedes debido a que tengo duda de como se podría implementar el siguiente menú:

1. Esvacia
2. Tamaño de la pila
3. Guardar un nuevo registro (apilar)
4. Eliminar un elemento de la pila(retirar)
5. El ultimo elemento de la pila(cima)
6. Buscar
7. Remover un elemento de la pila
8. Editar, permite cambiar un elemento de la pila por otro valor
9. Eliminar la pila
10. Listar Mostrar los elementos que se contienen dentro de las pilas
11. Salir

Sobre este ejercicio de pilas que ya he desarrollado.

Función principal:

Código: [Seleccionar]
package ejemplopilas;

public class EjemploPilas {

    public static void main(String[] args) {
   Pilas pila=new Pilas();
   
   pila.apilar(50);
   pila.apilar(1);
   pila.apilar(60);
   pila.apilar(5);
   pila.apilar(100);
   pila.apilar(9);
   pila.apilar(18);
   
        System.out.println("el tamanio de la pila es:"+pila.getTamanio());
       
        pila.apilar(55);
        pila.apilar(99);
       
        System.out.println("el tamanio de la pila es:"+pila.getTamanio());

    }
   
}

Clase Nodo:

Código: [Seleccionar]
package ejemplopilas;

public class Nodo {
    //Definir los atributos
    private int valor;
    private Nodo siguiente;
   
    //Contructor
   
    public void Nodo(){
    this.valor=0;
    this.siguiente=null;
    }
   
    //Metodos get y set
   
    public int getValor(){
        return valor;
    }
   
    public Nodo getSiguiente(){
        return siguiente;
    }
   
    public void setValor(int valor){
        this.valor= valor;
    }
   
    public void setSiguiente(Nodo siguiente){
        this.siguiente = siguiente;
    }
   
   
}

Clase pilas:

Código: [Seleccionar]
package ejemplopilas;


public class Pilas {
    //Definiendo los atributos de la pila
   
    private Nodo inicio;
   
    private int tamanio;

    //Constructor
    public void Pila(){
        inicio=null;
        tamanio=0;
    }
   
    /** Consulta si la pila esta vacia
    *@return true si el primer nodo (inicio), no apunta a otro nodo.
    */
    public boolean esVacio(){
        return inicio==null;
    }
   
     /**
     * Consulta cuantos elementos (nodos) tiene la pila.
     * @return numero entero entre (0,n)donde n es el numero de elementos
     * que contenga la lista
     */
    public int getTamanio(){
        return tamanio;       
    }
   
     public void apilar(int valor){
     //Definir nuevo nodo
     Nodo nuevo= new Nodo();
     //Agrega al valor Nodo
     nuevo.setValor(valor);
     //Consultar si la pila esta vacia.
     
     if(esVacio()){
         //Inicializa la pila con el nuevo valor
         inicio=nuevo;
     }
     //en caso contrario agrega el nuevo nodo al inicio de la pila
     else{
         nuevo.setSiguiente(inicio);
         inicio= nuevo;
        }
     //Incrementa el contador del tamaño de la pila
        tamanio++;
     }   
    //Elimina el elemento que se encuentra en el tope de la pila
    public void retirar(){
        if(!esVacio()){
            //Asigna como primer nodo al siguiente de la pila
            inicio= inicio.getSiguiente();
            //Decremento de la variable del contador del tamaño de la pila
            tamanio--;
           
        }
    }

    //Metodo que regresa el valor que esta en la cima de la pila
   
    public int cima() throws Exception{
    if(!esVacio()){
        return inicio.getValor();
        }   
    else
        {
        throw new Exception("La pila se encuentra vacia");
        }
    }
   
    public boolean buscar(int referencia){
        //Crear una copia de la pila
        Nodo aux = inicio;
        //Verificar si existe el elemento a buscar
        boolean existe= false;
       
        //Recorre la pila hasta llegar a encontrar el nodo o
        //llegar al final de la pila
       
        while(existe !=true && aux!=null){
            //Compara si el valor del nodo es igual al valor de la referencia
            if(referencia==aux.getValor()){
                existe=true;
            }
            else
            {
                //Avanza al siguiente nodo
                aux= aux.getSiguiente();
            }
        }
        return existe;
    }
}   


De antemano, agradezco todo su apoyo, muchas gracias.

Saludos con afecto,
ElMike

4
Que puedo decirte amigo Kabuto, muchas gracias por sacarme de la duda, eres un crack muy amable.

Gracias amigo!
ElMike

5
Estimados amigos, he realizado el siguiente código en java:

Código: [Seleccionar]
package listapaises;

import java.util.ArrayList;
import java.util.List;

public class ListaPaises {

    public static void main(String[] args) {
        List<String> paises=new ArrayList<>();
       
        paises.add("Mexico");
        paises.add("Costa Rica");
        paises.add("Argentina");
        paises.add("Colombia");
       
        System.out.println("La cantidad de paises que existe en la lista es : "+ paises.size());       
        System.out.println("Los paises que contiene la lista, son los siguientes: ");
        for(String i:paises){
            System.out.println(" - " + i);
        }
       
        System.out.println(paises.contains("Colombia"));
       
        if(paises.contains("Ecuador")){
            System.out.println("El pais Ecuador esta dentro de la lista");
        }
        else
        {
            System.out.println("El pais Ecuador No esta dentro de la lista");
        }
    }
   
}

Mi duda es, como puedo hacer para que el programa solicite el tamaño de la lista de países y se ingrese el nombre de los países que el usuario desee.

Gracias y perdón por las molestias.

Saludos con afecto,
ElMike

6
Muchas gracias amigo Kabuto, te comento que opte por la opción 2 (Clase sin Main) el programa quedo así:

1. Menu

Código: [Seleccionar]
package menu;

import java.util.InputMismatchException;
import java.util.Scanner;

public class Menu {

    public static void main(String[] args) {
        Scanner sn = new Scanner(System.in);
       
        boolean salir = false;
        int opcion;
       
        while(!salir){
           
            System.out.println("\n\t-- Programa que muestra un menu con opciones de ejercicios de las diferentes estructuras --");
           
            System.out.println();
           
            System.out.println("1.- Funciones");
            System.out.println("2.- Recursividad");
            System.out.println("3.- Metodo de ordenacion de insercion");
            System.out.println("4.- Metodo de ordenacion Shell");
            System.out.println("5.- Listas de personas");
            System.out.println("6.- Pilas");
            System.out.println("7.- Colas");
            System.out.println("8.- Salir");
           
            System.out.println();
           
            try{
           
            System.out.print("Seleccione cualquiera de las opciones anteriores: ");
            opcion = sn.nextInt();
           
            switch (opcion){
                case 1:
                    funciones.funciones();
                    break;
                case 2:
                    funciones.recursividad();
                    break;
                case 3:
                    funciones.ordenacionInsercion();
                    break;
                case 4:
                    funciones.ordenacionShell();
                    break;
                case 5:
                    funciones.listaPersonas();
                    break;
                case 6:
                    funciones.metodoPilas();
                    break; 
                case 7:
                    funciones.metodoColas();
                    break;
                case 8:
                    salir=true;
                    break;   
                default:   
                   System.out.println("Las opciones son entre 1 y 8");
               
            }
            }
            catch(InputMismatchException e){
                System.out.print("Debes seleccionar un numero de opcion");
                sn.next();
            }
    }
   
                System.out.println("\n\t *-* Gracias por utilizar el sistema, hasta luego *-* ");
}
}   

2. Clases sin el main

Código: [Seleccionar]
package menu;

import java.util.ArrayList;
import java.util.Scanner;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Stack;

class funciones {

public static void funciones() {
Scanner sc = new Scanner(System.in);
        float numero1, numero2, suma, resta, mult, div, resto;
       
        System.out.print("Digite el primer numero: ");
        numero1 = sc.nextFloat();
        System.out.print("Digite el segundo numero: ");
        numero2 = sc.nextFloat();
       
        suma = numero1+numero2;
        resta = numero1-numero2;
        mult = numero1*numero2;
        div = numero1/numero2;
        resto = numero1%numero2;
       
       
        System.out.println("La suma es: "+suma);
        System.out.println("La resta es: "+resta);
        System.out.println("La multiplicacion es: "+mult);
        System.out.println("La division es: "+div);
        System.out.println("El resto es: "+resto);
}

       
       
public static void recursividad() {
    //Utilizacmos Scanner para leer datos desde teclado podemos usamos el metodo nextInt
    Scanner datos= new Scanner(System.in);
    //Se declaran las variables (int=entero)
    int fin, inicio, incremento;
    //Solicitamos la informacion al usuario
    System.out.println("\n\t--Programa que muestra el funcionamiento de la recursividad solicitando 3 numeros--");
    System.out.println("Ingresa el numero de inicio de la lista: ");
    //Aqui se almacena la informacion de la variable
    inicio= datos.nextInt();
    System.out.println("Ingresa el numero en el que quieres finalizar la lista: ");
    fin= datos.nextInt();
    System.out.println("Indica el incremento de la lista: ");
    incremento= datos.nextInt();

    listaNumeros(fin,inicio,incremento);

}
//Aqui aplicamos la Recursividad
public static void listaNumeros(int fin,int inicio, int incremento){
    if(fin > 0 ){
    System.out.println(inicio);
    listaNumeros(fin - incremento,inicio+incremento,incremento);
}
}       




public static void ordenacionInsercion() {
                int[] lista = new int[100]; // Lista de números enteros que supondremos llena.
int i,j; // Índices sobre la lista.
int aux; // Variable auxiliar para el intercambio de valores.

for (i = 1; i < 100; i++){ // ¡Ojo! Empezamos en 1
aux = lista[i]; // Guardamos el valor a ordenar.
j = i - 1;
while ( (j >= 0) && lista[j] > aux ) // Siempre que sea mayor que aux.
// ordenamos de menor a mayor.
lista[j+1] = lista[j--]; // Trasladamos el valor y movemos el indice.
lista [j+1] = aux; // Ponemos el valor a ordenar en su sitio.
}
}

       
       

public static void ordenacionShell() {
int arreglo[]={5,4,2,1,3,6}, aux, salto;
System.out.println("Se muestra el contenido de la serie de datos numericos...");
for(int i=0;i<=5;i++){
System.out.print(arreglo[i]+ " - ");
}

//Ordenamiento por el metodo Shell

boolean cambios;

for (salto = 6 / 2; salto != 0; salto /= 2) {
cambios = true;
while (cambios) {   // Mientras se intercambie algún elemento                                         
cambios = false;
for (int i = salto; i < 6; i++)   // se da una pasada
{
if (arreglo[i - salto] > arreglo[i]) {       // y si están desordenados
aux = arreglo[i];                  // se reordenan
arreglo[i] = arreglo[i - salto];
arreglo[i - salto] = aux;
cambios = true;              // y se marca como cambio.                                   
}
}
}
}

//Mostrando el arreglo ordenando
System.out.println("\n\nSe esta imprimiento los valores del arreglo en forma ascendente");
for(int i=0;i<6;i++){
System.out.print(arreglo[i]+ " - ");
}
System.out.println();
}

       
       
       
public static void listaPersonas() {
//creamos el ArrayList que contendrá la altura de los alumnos
      ArrayList<Double> altura = new ArrayList();
      int N;
      double media;
      //obtenemos el número de alumnos de la clase
      N = numeroAlumnos();
      //leemos la altura de los N alumnos
      leerAlturas(altura, N);
      //calculamos la media
      media = calcularMedia(altura);
      //mostramos los resultados
      mostrarResultados(altura, media);
   }

   //Método para pedir por teclado el número de alumnos de la clase
   public static int numeroAlumnos() {
      Scanner sc = new Scanner(System.in);
      int n;
      do {
            System.out.print("Introduce numero de alumnos: ");
            n = sc.nextInt();
      } while (n < 1);
      return n;
   }

   //Este método recibe el ArrayList y el número de alumnos de la clase
   //Pide por teclado la altura de todos los alumnos y las guarda en el ArrayList
   public static void leerAlturas(ArrayList<Double> a, int n) {
      Scanner sc = new Scanner(System.in);
      int i;
      double alto;
      for (i = 1; i <= n; i++) {
           do {
                 System.out.print("Alumno " + i + " altura: ");
                 alto = sc.nextDouble();
           } while (alto <= 0);
           a.add(alto); //añade la altura al final del ArrayList
      }
  }

   //Este método recibe el ArrayList con todas las alturas
   //calcula y devuelve la media
   public static double calcularMedia(ArrayList<Double> a) {
      double media = 0;
      for (Double d : a) {
            media = media + d;
      }
      return media / a.size();
   }

   //Muestra la altura de todos los alumnos, la media y calcula y muestra
   //cuantos alumnos hay con altura superior a la media
   //y cuántos con altura inferior
   public static void mostrarResultados(ArrayList<Double> a, double media) {                               
      int superior = 0, inferior = 0;
      System.out.println("alturas introducidas: ");
      System.out.println(a);
      for (Double d : a) {
            if (d > media)
                superior++;
            else if (d < media)
                       inferior++;
      }
      System.out.printf("Media: %.2f %n", media);
      System.out.println("Hay " + superior + " alumnos mas altos que la media");
      System.out.println("Hay " + inferior + " alumnos mas bajos que la media");
}

   
   
   
public static void metodoPilas() {

        //Entrada (Expresión en Postfija)
        String expr = "2 23 6 + * 1 -"; // equivale a 2*(23+6)-1
        String[] post = expr.split(" ");   

        //Declaración de las pilas
        Stack < String > E = new Stack < String > (); //Pila entrada
        Stack < String > P = new Stack < String > (); //Pila de operandos

        //Añadir post (array) a la Pila de entrada (E)
        for (int i = post.length - 1; i >= 0; i--) {
          E.push(post[i]);
        }

        //Algoritmo de Evaluación Postfija
        String operadores = "+-*/%";
        while (!E.isEmpty()) {
          if (operadores.contains("" + E.peek())) {
            P.push(evaluar(E.pop(), P.pop(), P.pop()) + "");
          }else {
            P.push(E.pop());
          }
        }

        //Mostrar resultados:
        System.out.println("Expresion: " + expr);
        System.out.println("Resultado: " + P.peek());

      }

      private static int evaluar(String op, String n2, String n1) {
        int num1 = Integer.parseInt(n1);
        int num2 = Integer.parseInt(n2);
        if (op.equals("+")) return (num1 + num2);
        if (op.equals("-")) return (num1 - num2);
        if (op.equals("*")) return (num1 * num2);
        if (op.equals("/")) return (num1 / num2);
        if (op.equals("%")) return (num1 % num2);
        return 0;
}

public static void metodoColas() {
        /*Creamos la Cola Indicando el tipo de dato*/
        Queue cola=new LinkedList();
        /*Insertamos datos*/
            cola.offer(3);
            cola.add(14);
            cola.offer(12);
            cola.add(7);
            cola.offer(10);
        /*Impresion de la Cola llena con los datos*/
        System.out.println("Cola llena: " + cola);
        /*Estructura repetitiva para desencolar*/
        while(cola.poll()!=null){//Desencolamos y el valor se compara con null
            System.out.println(cola.peek());//Muestra el nuevo Frente
        }
        /*Muestra null debido a que la cola ya esta vacia*/
        System.out.println(cola.peek());     
}
}

Existe un ultimo detalle, cuando seleccionas una opción, la consola muestra el programa seleccionado cumple con su propósito y al terminar regresa de vuelta al menú, ya le busque pero no se como puedo hacer para que el menú pregunte "desea regresar al menú principal" o darle la opción al usuario de terminar el programa, me podrías ayudar por favor?

Nuevamente, muchas gracias por todo.

Quedo atento a tus amables instrucciones.
ElMike

7
Estimados amigos, pido de sus amables atenciones para saber como puedo hacer para que al seleccionar una opción de un menú en java, se ejecute el programa y al finalizar dicho programa regrese al menú, hasta seleccionar la opción de salir.

De momento ya tengo los programas así como el menú, que acontinuación les incluyo:

Código: [Seleccionar]
package menu;

import java.util.InputMismatchException;
import java.util.Scanner;

public class Menu {

    public static void main(String[] args) {
        Scanner sn = new Scanner(System.in);
       
        boolean salir = false;
        int opcion;
       
        while(!salir){
           
            System.out.println("\n\t-- Programa que muestra un menu con opciones de ejercicios de las diferentes estructuras --");
           
            System.out.println("1.- Funciones");
            System.out.println("2.- Recursividad");
            System.out.println("3.- Metodo de ordenacion de insercion");
            System.out.println("4.- Metodo de ordenacion Shell");
            System.out.println("5.- Listas de personas");
            System.out.println("6.- Pilas");
            System.out.println("7.- Colas");
            System.out.println("8.- Salir");
           
            try{
           
            System.out.println("Seleccione la opcion deseada: ");
            opcion = sn.nextInt();
           
            switch (opcion){
                case 1:
                    System.out.println("Este es el programa que realiza Funciones");
                    break;
                case 2:
                    System.out.println("Este es el programa que muestra la Recursividad");
                    break;
                case 3:
                    System.out.println("Este es el programa que realiza el Metodo de ordenacion de insercion");
                    break;
                case 4:
                    System.out.println("Este es el programa que realiza el Metodo de ordenacion Shell");
                    break;
                case 5:
                    System.out.println("Este es el programa que realiza Listas de personas");
                    break;
                case 6:
                    System.out.println("Este es el programa que realiza el Metodo de pilas");
                    break; 
                case 7:
                    System.out.println("Este es el programa que realiza el Metodo de colas");
                    break;
                case 8:
                    salir=true;
                    break;   
                default:   
                   System.out.println("Las opciones son entre 1 y 8");
               
            }
            }
            catch(InputMismatchException e){
                System.out.println("Debes seleccionar un numero de opcion");
                sn.next();
            }
    }
   
                System.out.println("Gracias por utilizar el sistema, hasta luego... ");
}
}   

Ejemplo:

-- Programa que muestra un menu con opciones de ejercicios de las diferentes estructuras --
1.- Funciones
2.- Recursividad
3.- Metodo de ordenacion de insercion
4.- Metodo de ordenacion Shell
5.- Listas de personas
6.- Pilas
7.- Colas
8.- Salir
Seleccione la opcion deseada:
4
Este es el programa que realiza el Metodo de ordenacion Shell


Código: [Seleccionar]
package shell;


public class Shell {

    public static void main(String[] args) {
    int arreglo[]={5,4,2,1,3,6}, aux, pos, salto;
     System.out.println("Se muestra el contenido de la serie de datos numericos...");
     for(int i=0;i<=5;i++){
         System.out.print(arreglo[i]+ " - ");
     }
       
        //Ordenamiento por el metodo Shell
       
        boolean cambios;
 
        for (salto = 6 / 2; salto != 0; salto /= 2) {
            cambios = true;
            while (cambios) {   // Mientras se intercambie algún elemento                                         
                cambios = false;
                for (int i = salto; i < 6; i++)   // se da una pasada
                {
                    if (arreglo[i - salto] > arreglo[i]) {       // y si están desordenados
                        aux = arreglo[i];                  // se reordenan
                        arreglo[i] = arreglo[i - salto];
                        arreglo[i - salto] = aux;
                        cambios = true;              // y se marca como cambio.                                   
                    }
                }
            }
        }
       
          //Mostrando el arreglo ordenando
        System.out.println("\n\nSe esta imprimiento los valores del arreglo en forma ascendete");
        for(int i=0;i<6;i++){
        System.out.print(arreglo[i]+ " - ");
        }
        System.out.println();
    }
   
}

-- Programa que muestra un menu con opciones de ejercicios de las diferentes estructuras --
1.- Funciones
2.- Recursividad
3.- Metodo de ordenacion de insercion
4.- Metodo de ordenacion Shell
5.- Listas de personas
6.- Pilas
7.- Colas
8.- Salir
Seleccione la opcion deseada:



Espero haber sido claro y me puedan ayudar, gracias.

Saludos con afecto,
ElMike.

8
Amigo Kabuto, gracias por tu valiosa aportación,  nos falto agregar la biblioteca:

Código: [Seleccionar]
#include<cstring>
A pesar de que el programa compila y no arroja errores, no hace bien su trabajo, seguiré investigando.

Cualquier aportación es bienvenida.

Gracias,
ElMike

9
Amigos, buenas tardes, espero se encuentren bien! Así mismo solicito de su apoyo para sacar adelante este proyecto, al parecer me he perdido en el camino...


PROYECTO

Se deberá crear un arreglo de tipo estructura de una dimensión 10, esto quiere decir que cuando se soliciten los datos de dichas personas, deberá recibir 4 datos distintos (nombre, edad, sexo y sueldo), de 10 personas diferentes.

Con dichos dados ingresados, referente al sexo, se deberá crear una función o procedimiento para contabilizar cuantos son hombres y cuantas son mujeres. Para el sueldo se deberá sacar el promedio de los suelos de todas las personas con una función que realice el promedio de dicho sueldo. Y crea un procedimiento que contabilice cuantas personas tienen la mayoría de edad y cuantos la minoría de edad.

Se deberá mostrar en pantalla como datos de salida, los datos de cada una de las personas y el conteo final de hombres, mujeres, cuantos son mayores de edad, y cuÁntos son menores de edad y el promedio de los sueldos.


Este es mi avance:


Código: [Seleccionar]
#include <iostream>
using namespace std;
struct persona{
        char nombre[15];
        int edad;
        char sexo[15];
        int sueldo;
       
};
int main(){
    persona amigo[5];
    for (int i = 0; i < 5; i++){
        cout <<"Escriba el Nombre "<<i+1<<":";
        cin >> amigo[i].nombre;
        cout <<"\nEscriba la Edad de "<<i+1<<":";
        cin >> amigo[i].edad;
        cout <<"\nEscriba el Sexo "<<i+1<<":";
        cin >> amigo[i].sexo;
        cout <<"\nEscriba el Sueldo de "<<i+1<<":";
        cin >> amigo[i].sueldo;
       
        cout <<endl;
    }
    cout<<"El registro de personas que se introdujeron es: \n\n";
    for (int i = 0; i < 5; i++){
        cout<<"\t"<<amigo[i].nombre;
        cout<<"\t"<<amigo[i].edad;
        cout<<"\t"<<amigo[i].sexo;
        cout<<"\t"<<amigo[i].sueldo<<"\n\n";
   }
   {
    int i;
   float promedio;
int sueldo;
float sueldo_mas_alto;
    promedio = 0;
    sueldo_mas_alto = 0;
    for (i=0; i<5; i++)
    {
        cout << "PROCESO " << i << endl;
        cout << "Ingresa el valor de sueldo: ";
        cin >> sueldo;
        cin.get();
        promedio=promedio+sueldo;
        if(i==0||sueldo_mas_alto<sueldo)
            sueldo_mas_alto=sueldo;
        cout << endl;
    }
    promedio=promedio/10;
    cout << "Valor de promedio: " << promedio << endl;
    cout << "Valor de sueldo mas alto: " << sueldo_mas_alto << endl;
    system ("pause");
   
   }
   
   return 0;
}

Gracias por su apoyo, atenciones y sobre todo por ayudarme con este código.

Saludos,
ElMike

10
Estimado Kabuto, lleve a cavo el formateo de mi PC, instale el ultimo JDK así como la ultima versión de Apache NetBeans y el problema de compilación fue resuelto, tienes razón hice un pésimo trabajo con ese ejercicio, estoy dando mis primeros pasos en Java, espero mejorar.

Gracias por tu apoyo.

11
Estimado Kabuto, después de mi respectivo jalón de orejas, te agradezco el apoyo que me brindas, en efecto, no he tenido la oportunidad de ejecutarlo, puesto que el NetBeans que tengo en la PC me tira error aun estando el código correctamente escrito, alguna sugerencia.

Nota, ya des-instale el JDK, NetBeans y me sigue tirando error, Trabajo sobre Windows 11, mi maquina si o si se actualizo a esa versión.

Gracias por todo!

Saludos con afecto,
ElMike

12
Estimado Kabuto, un honor el poder contar con tu apoyo, he llegado a este resultado, sin embargo no se si este del todo bien, aunado a que me falta poner si el alumno aprobó o reprobó, me ayudaría mucho contar con tus amables atenciones para concluir con el ejercicio, anexo código:

Código: [Seleccionar]
package promedio3notas;
import java.util.Scanner;

public class Promedio3notas {

public static void main (String[] args){
Scanner teclado=new Scanner(System.in);
double calificacion1,calificacion2,calificacion3,promedio;
String alumno;

System.out.println("Nombre del alumno: ");
nombre=teclado.nextLine();
System.out.println("Apellido del alumno: ");
apellido=teclado.nextLine();
System.out.println("Edad del alumno: ");
edad=teclado.nextLine();
System.out.println("Calificacion de la evaluacion 1: ");
calificacion1=teclado.nextDouble();
System.out.println("Calificacion de la evaluacion 2: ");
calificacion2=teclado.nextDouble();
System.out.println("Calificacion de la evaluacion 3: ");
calificacion3=teclado.nextDouble();
promedio=(calificacion1+calificacion2+calificacion3)/3;
System.out.println("El promedio final del alumno: "+alumno, +apellido" con la edad de: "+edad+" años es de: "+promedio);
}

}

Gracias!

13
Estimados amigos, solicito de su apoyo para orientarme en la solución a esta cuestión en Java NetBeans:

1.- Desarrolla un programa en Java, donde se cree una función y procedimiento. La
función deberá recibir 3 calificaciones de 3 materias diferentes, donde se calcule el
promedio de esas tres calificaciones. Con el resultado del promedio se enviará a un
procedimiento más los datos del alumno (nombre, apellido y edad), el procedimiento
deberá mostrar los datos del alumno y validara si el alumno aprobó o reprobó según
sea el caso.

Las entradas de datos son:

1. Nombre
2. Apellido
3. Edad
4. Calificación 1
5. Calificación 2
6. Calificación 3


Gracias!

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".