Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Estructura de Datos - Facultad de Ingenieria - Universidad Nacional de Jujuy
- *
- * @Autor: Equipo 4.1
- */
- /* @integrantes: | @Carrera: | @LU:
- Flores ,Cesar Ismael | Lic. en Sistemas | 1782
- Llampa, Ariel Angel Gabriel | Ing. Informatica | 8445
- Machaca, Rodrigo Agustin | Ing. Informatica | 8512
- Perez, Emanuel Ismael | Ing. Informatica | 8393
- Quispe Rojas, Moises Esteban Nicolas | Ing. Informatica | 7286
- Encolar N letras (una por una) en una cola; luego desencolarlas y hacer lo siguiente: contar las apariciones
- de cada vocal y devolver una segunda cola en la que se deben guardar las letras de la cola original pero
- reemplazando las vocales minúsculas por las correspondientes mayúsculas. Para la resolución del ejercicio
- debe utilizar colas circulares.
- Modifique el programa escrito de manera que permita optar entre el ingreso de valores por consola o por
- un generador de valores aleatorios.
- Indicaciones:
- Este ejercicio necesita del objeto scanner para ingresar datos por la consola o teclado, se espera que el
- código controle los problemas que normalmente ocurren al operar con la consola o teclado.
- Se espera una correcta modularización entre el código que realiza el ingreso y validación de los datos
- respecto del código que hace lo que se solicita en el ejercicio.
- El ejercicio debe implementar un mecanismo para seleccionar el ingreso de valores por consola o
- generados aleatoriamente.
- */
- package Queue;
- public class ED_E2 {
- private Queue<Character> queueLetters;
- private int contA=0,contE=0,contI=0,contO=0,contU=0;
- public static void main(String[] args) {
- (new ED_E2()).open();
- }
- public void open(){
- char option;
- do{
- System.out.println("Queue de letras, vocales a mayusculas");
- System.out.println("(a) Carga manual de la Queue");
- System.out.println("(b) Carga automatica de la Queue");
- System.out.print("Opcion: ");
- option=Helper.getChar();
- }while(validateOption(option));
- }
- public boolean validateOption(char option){
- switch(option){
- case 'a','A':
- registerManual();
- return false;
- case 'b','B':
- registerAutomatic();
- return false;
- default:{
- System.out.println("Error...");
- System.out.println("Intentelo de nuevo");
- return true;
- }
- }
- }
- // Generar valores entre un rango
- // new Random().nextInt(max - min + 1) + min;
- public void registerAutomatic(){
- int amount=Helper.random.nextInt(40-15+1)+15;
- char lowercaseVowels,uppercaseVowels,vowelToAdd;
- setQueueLetters(new Queue<Character>(amount));
- for(int i=0;i<amount;i++){
- uppercaseVowels=(char) (Helper.random.nextInt(90-65+1)+65);
- lowercaseVowels=(char) (Helper.random.nextInt(122-97+1)+97);
- vowelToAdd=Helper.random.nextInt(2)==0? lowercaseVowels:uppercaseVowels;
- getQueueLetters().add(vowelToAdd);
- }
- System.out.println("Se genero la siguiente Queue: ");
- System.out.println(getQueueLetters());
- // Resolucion del enunciado
- System.out.println("La nueva Queue es la siguiente: ");
- setQueueLetters(deQueueCount(getQueueLetters()));
- System.out.println(getQueueLetters());
- System.out.println("Cantidades de A= "+this.contA);
- System.out.println("Cantidades de E= "+this.contE);
- System.out.println("Cantidades de I= "+this.contI);
- System.out.println("Cantidades de O= "+this.contO);
- System.out.println("Cantidades de U= "+this.contU);
- }
- public void registerManual(){
- System.out.print("Ingrese la cantidad de letras a cargar :");
- int amount = Helper.getIntegerPositive();
- char letter;
- setQueueLetters(new Queue<Character>(amount));
- for(int i=0;i<amount;i++){
- do{
- System.out.print("Ingrese letra: ");
- letter=Helper.getChar();
- }while(validateLetter(letter));
- getQueueLetters().add(letter);
- }
- System.out.println("Se cargo la siguiente Queue: ");
- System.out.println(getQueueLetters());
- // Resolucion del enunciado
- System.out.println("La nueva Queue es la siguiente: ");
- setQueueLetters(deQueueCount(getQueueLetters()));
- System.out.println(getQueueLetters());
- System.out.println("Cantidades de A= "+this.contA);
- System.out.println("Cantidades de E= "+this.contE);
- System.out.println("Cantidades de I= "+this.contI);
- System.out.println("Cantidades de O= "+this.contO);
- System.out.println("Cantidades de U= "+this.contU);
- }
- public boolean validateLetter(char letter){
- letter = Character.toUpperCase(letter);
- int valueASCII= (int) letter;
- if(valueASCII != 165 && (valueASCII < 65 || valueASCII > 90)){
- System.out.println("Error...");
- System.out.println("El valor ingresado no es una letra");
- return true;
- }else{
- return false;
- }
- }
- public Queue deQueueCount(Queue<Character> queueLetters){
- int leng=queueLetters.size();
- char removeLetter;
- for(int i=0;i<leng;i++){
- removeLetter=queueLetters.remove();
- if(isVowels(removeLetter)){
- queueLetters.add(Character.toUpperCase(removeLetter));
- }else{
- queueLetters.add(removeLetter);
- }
- }
- return queueLetters;
- }
- public boolean isVowels(char removeLetter){
- switch(removeLetter){
- case 'a','A':
- this.contA++;
- return true;
- case 'e','E':
- this.contE++;
- return true;
- case 'i','I':
- this.contI++;
- return true;
- case 'o','O':
- this.contO++;
- return true;
- case 'u','U':
- this.contU++;
- return true;
- default:
- return false;
- }
- }
- public Queue<Character> getQueueLetters() {
- return queueLetters;
- }
- public void setQueueLetters(Queue<Character> queueLetters) {
- this.queueLetters = queueLetters;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement