Advertisement
riverstifler

helper

Sep 28th, 2020
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.88 KB | None | 0 0
  1.  
  2. import java.util.Scanner;
  3. import java.util.Random;
  4.  
  5. public class Helper{
  6. //----------------Objetos para toda la clase Tp02----------------//    
  7.     static Scanner sc = new Scanner(System.in);
  8.     static Random random=new Random();
  9.     static int contConstantes=0;
  10.  //-----------------------  Menu  -----------------------//
  11.    static void Menu() {
  12.        System.out.println("=============================== Menu de opciones ===============================");
  13.        System.out.println("1)Ingresar por consola.");
  14.        System.out.println("2)Ingresar datos aleatorios.");
  15.        System.out.println("3)Mostrar datos ordenados.");
  16.        System.out.println("4)Mostrar número de consonantes.");
  17.        System.out.println("5)salir.");
  18.        System.out.print("Ingrese una opcion : ");
  19.    }
  20.    
  21. //----------------------- Validar Entradas-----------------------//
  22.     static char validarDatoChar() {//Proceso de validación a un entero.
  23.         char dato;
  24.         do {
  25.             System.out.println("Ingrese una letra :");
  26.             dato=validarChar(sc.next().toLowerCase());
  27.         }while(dato==0);
  28.         return dato;
  29.     }
  30.     static char validarChar(String entrada){//Módulo dedicado a reconocer si un número es natural.
  31.         if (entrada.length()==1){
  32.             return entrada.charAt(0);
  33.         }else {
  34.             System.out.println("ERROR, ingrese un caracter");
  35.             return 0;
  36.         }
  37.     }
  38.     static char validarLetra() {//Proceso de validación de una letra.
  39.         char caracter,laLetra;
  40.         do {
  41.             caracter=validarDatoChar();
  42.             if (Character.isLetter(caracter) || caracter=='@') {
  43.                 laLetra=caracter;
  44.             }else {
  45.                 System.out.println("ERROR, caracter invalido");
  46.                 laLetra=0;
  47.             }
  48.         }while(laLetra==0);
  49.          return laLetra;
  50.     }
  51.    
  52. //---- Modificar Pila Desapilandola a base de otra y Reapilarla----//
  53.     static void desapilarReapilar(Pila<Character> vecpila,Pila<Character> vecpila2,char pivote) {
  54.         desapilar(vecpila, vecpila2, pivote);
  55.         //mostrarPilaRepuesto(vecpila2);
  56.         vecpila.push(pivote);
  57.         reapilar(vecpila, vecpila2);
  58.     }
  59.    
  60.     static void desapilar(Pila<Character> vpila,Pila<Character> vpila2,char pivot) {
  61.         do {
  62.             vpila2.push(vpila.pop());
  63.             //despasajePasaje(vpila, vpila2);
  64.         }while(pivot<validarCima(vpila));
  65.     }
  66.    
  67.     static void reapilar(Pila<Character> vpila,Pila<Character> vpila2) {
  68.         do {
  69.             vpila.push(vpila2.pop());
  70.         }while(!vpila2.empty());
  71.     }
  72.  
  73. //--- Solo Video - Pasaje de cimas a otra pila y Motrar la misma---//
  74.     static void despasajePasaje(Pila<Character> vpila,Pila<Character> vpila2) {
  75.         System.out.println("Cima de Pila Principal ("+vpila.size()+"): "+vpila.peek());
  76.         System.out.println("Cima de Pila de Reserva ("+vpila2.size()+"): "+vpila2.peek());
  77.     }
  78.    
  79.     static void mostrarPilaRepuesto(Pila<Character> pilaRepuesto) {
  80.         System.out.println("La Pila de Repuesto contiene " + pilaRepuesto.size()+" letras");
  81.         System.out.println("El abecedario de Reserva acomodado fue: " + pilaRepuesto);
  82.     }
  83.    
  84. //-------------------- Validar Cimas de Pilas--------------------//
  85.     static char validarCima(Pila<Character> vpila) {//Valida una cima si es que esta vacia.
  86.         char cima;
  87.         if (vpila.size()==0) {
  88.             cima=0;
  89.         }else {
  90.             cima=vpila.peek();
  91.         }
  92.         return cima;
  93.     }
  94.    
  95. //-------------------- Mostrar Pila Definitiva-------------------//
  96.     static void mostrarPila(Pila<Character> piladefinitiva,String item,String compuesto) {
  97.         System.out.print("La Pila contiene " + piladefinitiva.size()+item);
  98.         System.out.println("."+compuesto+" ingresado es: " + piladefinitiva+"\n----------------------------------------------------------------------");
  99.         while (!piladefinitiva.empty()) {
  100.             System.out.println(piladefinitiva.pop());
  101.         }
  102.     }
  103.    
  104. //-------------------- Valores aleatorios -------------------//
  105.    
  106.     static char LetrasAleatorias() {
  107.         String abc=new String("abcde@fghijklmnopqrstuvwxyz");
  108.         int pos=random.nextInt(abc.length()-1);
  109.         return abc.charAt(pos);
  110.     }
  111. //-------------------- Valida el ingreso de numeros -------------------//  
  112.      static int numeroEnteroPositivo() {//Proceso para validar un entero.
  113.             int numero;
  114.             do {
  115.                 try {
  116.                 numero=Integer.parseInt(sc.nextLine());
  117.                } catch (NumberFormatException e) {
  118.                    numero=-1;                                              
  119.                }//Fin try-catch.
  120.                 if(numero<=0) {
  121.                   System.out.println("ERROR, se esperaba un número entero positivo");
  122.                 }
  123.             }while (numero < 1);
  124.             return numero;
  125.         } //Fin numeroEnteroPositivo.
  126.      
  127.      
  128.      static void SegunOPC(int respuesta,char letra,Pila<Character> alfabeto){        
  129.             do {
  130.                 if(respuesta==1) {
  131.                     letra=validarLetra();
  132.                 }
  133.                 else{
  134.                     letra=LetrasAleatorias();
  135.                 }
  136.                 if((letra!='a')&(letra!='e')&&(letra!='i')&&(letra!='o')&&(letra!='u')&&(letra!='@')) {
  137.                     ++Helper.contConstantes;
  138.                 }
  139.                
  140.             if(Character.isLetter(letra)){
  141.                     if(alfabeto.empty() || alfabeto.peek()<=letra){
  142.                         alfabeto.push(letra);
  143.                     }
  144.                     else {
  145.                         Pila<Character> alfabetoRepuesto = new Pila<Character>();
  146.                         Helper.desapilarReapilar(alfabeto, alfabetoRepuesto, letra);
  147.                     }
  148.             }
  149.             }while (letra!='@');
  150.      }
  151. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement