Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Random;
- import java.util.Scanner;
- import java.util.Stack;
- public class ejernum1 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- menu();
- }
- public static void menu() {
- int opcion;
- do {
- System.out.println("--PILA DE CARACTERES--");
- System.out.println("..........................................");
- System.out.println("1 - Cargar de Forma Manual");
- System.out.println("2 - Cargar de Forma Aleatorio");
- System.out.println("3 - Finalizar");
- System.out.println("..........................................");
- opcion=Helper.getPositiveInt("Ingrese una opcion ");
- switch(opcion){
- case 1:
- op1();
- espera();
- break;
- case 2:
- op2();
- espera();
- break;
- case 3:
- System.out.println("FIN DEL PROGRAMA");
- break;
- default:
- System.out.println("ERROR-LA OPCION INGRESADA ES INCORRECTA");
- }
- } while (opcion!=3);
- System.out.println("Gracias :D");
- }
- public static void cargarPila(String frase, Stack<Character> pila) {
- for(int i=0;i<frase.length();i++) {
- pila.push(frase.charAt(i));
- }
- }
- public static void reemplazo(char actual,char nuevo, Stack<Character> pila) {
- int cantReemplazo=0;
- int pos;
- Stack<Character> caracteresDeLaPila= new Stack<Character>();
- do {
- pos=pila.search(actual);
- if(pos!=-1) {
- for(int i=1;i<pos;i++) {
- caracteresDeLaPila.push(pila.pop());
- }
- pila.pop();
- pila.push(nuevo);
- for(int i=1;i<pos;i++) {
- pila.push(caracteresDeLaPila.pop());
- }
- }else {
- System.out.println("Elemento no encontrado!");
- }
- cantReemplazo+=1;
- } while (pila.search(actual)!=-1);
- System.out.println("------------------------------------------");
- System.out.println("Cantidad de elementos reemplazados: "+cantReemplazo);
- System.out.println("------------------------------------------");
- System.out.println("Caracter con los elementos reemplazados: "+pila);
- System.out.println("------------------------------------------");
- }
- public static void op1() {
- Scanner lectura= new Scanner(System.in);
- Stack<Character> pilaCaracteres =new Stack<Character>();
- System.out.println("..........................................");
- System.out.println("---INGRESE LOS CARACTERES---");
- System.out.println("..........................................");
- String frase=lectura.nextLine();
- cargarPila(frase,pilaCaracteres);
- System.out.println(" ");
- System.out.println(pilaCaracteres);
- System.out.println(" ");
- System.out.println("Escriba que Caracter desea reemplazar: ");
- System.out.println(" ");
- char actual=lectura.next().charAt(0);
- System.out.println(" ");
- System.out.println("Ingrese el Caracter Nuevo: ");
- System.out.println(" ");
- char nuevo=lectura.next().charAt(0);
- reemplazo(actual,nuevo,pilaCaracteres);
- }
- public static void op2() {
- String frase;
- frase = aleatorio();
- Scanner lectura= new Scanner(System.in);
- Stack<Character> pilaCaracteres =new Stack<Character>();
- System.out.println("..........................................");
- System.out.println("---CARACTERES ALEATORIOS---");
- System.out.println("..........................................");
- cargarPila(frase,pilaCaracteres);
- System.out.println(pilaCaracteres);
- System.out.println(" ");
- System.out.println("Escriba que Caracter desea reemplazar: ");
- System.out.println(" ");
- char actual=lectura.next().charAt(0);
- System.out.println(" ");
- System.out.println("Ingrese el Caracter Nuevo: ");
- System.out.println(" ");
- char nuevo=lectura.next().charAt(0);
- reemplazo(actual,nuevo,pilaCaracteres);
- }
- public static String aleatorio() {
- Scanner num0b=new Scanner(System.in);
- System.out.println("-Ingresar el rango de caracteres que desea generar: ");
- System.out.println("---------------");
- System.out.println("-Valor Maximo: ");
- int max=num0b.nextInt();
- System.out.println("---------------");
- String res = "";
- for(int i=0;i<max;i++) {
- int aleatorio = (int)((Math.random() *(('z'-'a')+1)+'a'));
- char letra=(char) aleatorio;
- res = res+letra;
- }
- return res;
- }
- @SuppressWarnings("resource")
- public static void espera (){ //Este modulo detiene el proceso hasta que el ususario precione "enter"
- Scanner waitForKeypress = new Scanner(System.in);
- System.out.print("Presiona la tecla Enter para continuar....");
- waitForKeypress.nextLine();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement