Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- import java.util.Random;
- public class Helper{
- //----------------Objetos para toda la clase Tp02----------------//
- static Scanner sc = new Scanner(System.in);
- static Random random=new Random();
- static int contConstantes=0;
- //----------------------- Menu -----------------------//
- static void Menu() {
- System.out.println("=============================== Menu de opciones ===============================");
- System.out.println("1)Ingresar por consola.");
- System.out.println("2)Ingresar datos aleatorios.");
- System.out.println("3)Mostrar datos ordenados.");
- System.out.println("4)Mostrar número de consonantes.");
- System.out.println("5)salir.");
- System.out.print("Ingrese una opcion : ");
- }
- //----------------------- Validar Entradas-----------------------//
- static char validarDatoChar() {//Proceso de validación a un entero.
- char dato;
- do {
- System.out.println("Ingrese una letra :");
- dato=validarChar(sc.next().toLowerCase());
- }while(dato==0);
- return dato;
- }
- static char validarChar(String entrada){//Módulo dedicado a reconocer si un número es natural.
- if (entrada.length()==1){
- return entrada.charAt(0);
- }else {
- System.out.println("ERROR, ingrese un caracter");
- return 0;
- }
- }
- static char validarLetra() {//Proceso de validación de una letra.
- char caracter,laLetra;
- do {
- caracter=validarDatoChar();
- if (Character.isLetter(caracter) || caracter=='@') {
- laLetra=caracter;
- }else {
- System.out.println("ERROR, caracter invalido");
- laLetra=0;
- }
- }while(laLetra==0);
- return laLetra;
- }
- //---- Modificar Pila Desapilandola a base de otra y Reapilarla----//
- static void desapilarReapilar(Pila<Character> vecpila,Pila<Character> vecpila2,char pivote) {
- desapilar(vecpila, vecpila2, pivote);
- //mostrarPilaRepuesto(vecpila2);
- vecpila.push(pivote);
- reapilar(vecpila, vecpila2);
- }
- static void desapilar(Pila<Character> vpila,Pila<Character> vpila2,char pivot) {
- do {
- vpila2.push(vpila.pop());
- //despasajePasaje(vpila, vpila2);
- }while(pivot<validarCima(vpila));
- }
- static void reapilar(Pila<Character> vpila,Pila<Character> vpila2) {
- do {
- vpila.push(vpila2.pop());
- }while(!vpila2.empty());
- }
- //--- Solo Video - Pasaje de cimas a otra pila y Motrar la misma---//
- static void despasajePasaje(Pila<Character> vpila,Pila<Character> vpila2) {
- System.out.println("Cima de Pila Principal ("+vpila.size()+"): "+vpila.peek());
- System.out.println("Cima de Pila de Reserva ("+vpila2.size()+"): "+vpila2.peek());
- }
- static void mostrarPilaRepuesto(Pila<Character> pilaRepuesto) {
- System.out.println("La Pila de Repuesto contiene " + pilaRepuesto.size()+" letras");
- System.out.println("El abecedario de Reserva acomodado fue: " + pilaRepuesto);
- }
- //-------------------- Validar Cimas de Pilas--------------------//
- static char validarCima(Pila<Character> vpila) {//Valida una cima si es que esta vacia.
- char cima;
- if (vpila.size()==0) {
- cima=0;
- }else {
- cima=vpila.peek();
- }
- return cima;
- }
- //-------------------- Mostrar Pila Definitiva-------------------//
- static void mostrarPila(Pila<Character> piladefinitiva,String item,String compuesto) {
- System.out.print("La Pila contiene " + piladefinitiva.size()+item);
- System.out.println("."+compuesto+" ingresado es: " + piladefinitiva+"\n----------------------------------------------------------------------");
- while (!piladefinitiva.empty()) {
- System.out.println(piladefinitiva.pop());
- }
- }
- //-------------------- Valores aleatorios -------------------//
- static char LetrasAleatorias() {
- String abc=new String("abcde@fghijklmnopqrstuvwxyz");
- int pos=random.nextInt(abc.length()-1);
- return abc.charAt(pos);
- }
- //-------------------- Valida el ingreso de numeros -------------------//
- static int numeroEnteroPositivo() {//Proceso para validar un entero.
- int numero;
- do {
- try {
- numero=Integer.parseInt(sc.nextLine());
- } catch (NumberFormatException e) {
- numero=-1;
- }//Fin try-catch.
- if(numero<=0) {
- System.out.println("ERROR, se esperaba un número entero positivo");
- }
- }while (numero < 1);
- return numero;
- } //Fin numeroEnteroPositivo.
- static void SegunOPC(int respuesta,char letra,Pila<Character> alfabeto){
- do {
- if(respuesta==1) {
- letra=validarLetra();
- }
- else{
- letra=LetrasAleatorias();
- }
- if((letra!='a')&(letra!='e')&&(letra!='i')&&(letra!='o')&&(letra!='u')&&(letra!='@')) {
- ++Helper.contConstantes;
- }
- if(Character.isLetter(letra)){
- if(alfabeto.empty() || alfabeto.peek()<=letra){
- alfabeto.push(letra);
- }
- else {
- Pila<Character> alfabetoRepuesto = new Pila<Character>();
- Helper.desapilarReapilar(alfabeto, alfabetoRepuesto, letra);
- }
- }
- }while (letra!='@');
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement