Cabana_Mario_Ariel_F

Main modelo tp2 ejer 5

Apr 17th, 2022 (edited)
1,012
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.01 KB | None | 0 0
  1. /*
  2.  * Modelo de Desarrollo de Programas y Programación Concurrente - Facultad de Ingeniería - Universidad Nacional de Jujuy
  3.   ======================================================================================================================
  4.  */
  5.  
  6. /**
  7.  * @Autor: Grupo 02 M.D.P y P.C.
  8. /*      @Integrantes:                  |    @Carrera:             |   @DNI:
  9.                                        |                          |
  10.   ALVAREZ, Cesar Fabian                | Ing. Informática         | 41.275.832
  11.   CABANA, Mario Ariel Fernando         | Ing. Informática         | 42.268.639
  12.   MONTELLANO, Leandro                  | Ing. Informática         | 43.114.035
  13.   RETAMOZO CORTEZ, Candelaria          | Ing. Informática         | 95.790.260
  14.   RUIZ, Erica Vanina                   | Ing. Informática         | 38.471.424
  15.  
  16.  * @Fecha: 21/04/2022.
  17.  */
  18.  
  19.  /*
  20.    Trabajo Práctico N°2 / Introducción a Java Parte 1 / Punto 05
  21.   ---------------------   ---------------------------   --------
  22.   * Objetivo General: Cree una aplicación que lea el archivo “TP02Frase.txt”, pasarle la ubicación al programa.
  23.                       A continuación debe calcular y mostrar lo siguiente:
  24.                       - Cantidad de cada una de las vocales (cantidades de A/a, E/e, I/i, O/o y U/u).
  25.                       - Cantidad de espacios en blanco.
  26.                       - Cantidad de palabras.
  27.                       - Cantidad de letras en mayúscula.
  28.                       - Cantidad de líneas del archivo.
  29.                       - Cantidad de signos de puntuación.
  30.                       - Para cada vocal (acentuada o no) obtenga el código ASCII, adiciónele 20 a dicho
  31.                         valor, y vuelva a obtener el carácter correspondiente reemplazando el nuevo
  32.                         valor en la frase original. Muestre por pantalla el nuevo resultado.  
  33.   * El funcionamiento será a traves del entorno de desarrollo integrado Eclipse 2020-06(4.16)-(IDE for Java Developers), empleando el leguaje de programación Orientado a Objeto Java.
  34.   * Api a utilizar. Paquete:- Java.util / Clase:- StringTokenizer.
  35.   *                 Paquete:- Java.io / Clase:- BufferedReader, FileReader, IOException.
  36.   * Clase principal: Tp02ejer5.
  37.   * Clases secundarias: Menu Pricipal, Helper.
  38.   */
  39.  
  40. package ar.edu.unju.aplicacion;
  41. import java.io.BufferedReader;
  42. import java.io.FileReader;
  43. import java.io.IOException;
  44. import java.util.StringTokenizer;
  45.  
  46. public class Tp02ejer5 {
  47.     //------------Vector para toda la clase Tp02ejer5------------//
  48.    
  49.     public static char[]a={'a','A','á','Á'},e={'e','E','é','É'},i={'i','I','­','í','Í'},o={'o','O','ó','Ó'},u={'u','U','ú','Ú'};
  50.    
  51.     //------------------- Inicio método main() -------------------//
  52.    
  53.     public static void main(String[] args) {
  54.         String linea;
  55.         int contBlancosxLinea=0,contMayusculasxLinea=0,contPuntuacionesxLinea=0,contPalabrasxLinea=0,totalLineas=0;
  56.         int contVocalesAxLinea=0,contVocalesExLinea=0,contVocalesIxLinea=0,contVocalesOxLinea=0,contVocalesUxLinea=0;
  57.         char[]mayusculas={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
  58.         char[]signosP={'.',';',',','"',':','(',')','[',']','-','!','¡','?','¿'};
  59.         System.out.println("----------  EJERCICIO 5 - Texto ---------------");
  60.         try {
  61.             FileReader fr = new FileReader("C:\\Users\\Alicia Alfaro\\fi\\year 3\\Modulo de Desarrollo de Programas y Programación Concurrente\\tp2\\TP02Frase.txt");
  62.             BufferedReader br = new BufferedReader(fr);
  63.             while((linea=br.readLine())!=null){
  64.                 System.out.println(linea);
  65.                 char[] textVectorChar=linea.toCharArray();
  66.                 StringTokenizer st=new StringTokenizer(linea);
  67.                 contVocalesAxLinea+=contarCaracterColeccion(textVectorChar, a);
  68.                 contVocalesExLinea+=contarCaracterColeccion(textVectorChar, e);
  69.                 contVocalesIxLinea+=contarCaracterColeccion(textVectorChar, i);
  70.                 contVocalesOxLinea+=contarCaracterColeccion(textVectorChar, o);
  71.                 contVocalesUxLinea+=contarCaracterColeccion(textVectorChar, u);
  72.                 contBlancosxLinea+=contarenVector(textVectorChar, ' ');
  73.                 contPalabrasxLinea+=st.countTokens();
  74.                 contMayusculasxLinea+=contarCaracterColeccion(textVectorChar, mayusculas);
  75.                 totalLineas++;
  76.                 contPuntuacionesxLinea+=contarCaracterColeccion(textVectorChar, signosP);
  77.                 System.out.println(mas20ASCIIxLinea(linea, textVectorChar));
  78.             }
  79.             System.out.println("--------------  Resultados -------------------");
  80.             resultados("vocales a",contVocalesAxLinea);
  81.             resultados("vocales e",contVocalesExLinea);
  82.             resultados("vocales i",contVocalesIxLinea);
  83.             resultados("vocales o",contVocalesOxLinea);
  84.             resultados("vocales u",contVocalesUxLinea);
  85.             resultados("espacios en blanco",contBlancosxLinea);
  86.             resultados("palabras",contPalabrasxLinea);
  87.             resultados("letras en mayusculas",contMayusculasxLinea);
  88.             resultados("lineas",totalLineas);
  89.             resultados("signos de puntutación",contPuntuacionesxLinea);
  90.             fr.close();
  91.         }
  92.         catch (IOException e) {
  93.             System.out.println("Error No se encontro el archivo:" + e.getMessage());
  94.             }
  95.     }
  96.    
  97.     //------------------ Contadores Especificos Char ------------------//
  98.    
  99.     public static int contarCaracterColeccion(char[] texto,char[] caracterColeccion) {
  100.         int cont=0;
  101.         for(int i=0;i<caracterColeccion.length;i++) {
  102.             cont+=contarenVector(texto, caracterColeccion[i]);
  103.         }
  104.         return cont;
  105.     }
  106.    
  107.     //---------------- Recorrer Vector y Contar Char ----------------//
  108.    
  109.     public static int contarenVector(char[] text, char caracter){
  110.         int contador=0;
  111.         for(int i=0;i<text.length;i++){
  112.             if(text[i]==caracter){
  113.                 contador++;
  114.               }
  115.         }
  116.         return contador;
  117.     }
  118.    
  119.     //------------- Aumentar Caracter mas 20 en ASCII -------------//
  120.    
  121.     public static String mas20ASCIIxLinea(String texto,char[] text) {
  122.         texto=mas20ASCIIxVocalLinea(texto,text,u);
  123.         texto=mas20ASCIIxVocalLinea(texto,text,e);
  124.         texto=mas20ASCIIxVocalLinea(texto,text,i);
  125.         texto=mas20ASCIIxVocalLinea(texto,text,o);
  126.         texto=mas20ASCIIxVocalLinea(texto,text,a);
  127.         return texto;
  128.     }
  129.        
  130.     public static String mas20ASCIIxVocalLinea(String texto,char[] text,char[] vocalColeccion) {
  131.         for(int i=0;i<text.length;i++){
  132.             for(int j=0;j<vocalColeccion.length;j++){
  133.               if(text[i]==vocalColeccion[j]){
  134.                   texto=texto.replace(text[i],mas20ASCIIxCaracter(text[i]));
  135.               }
  136.             }
  137.         }
  138.         return texto;
  139.     }
  140.        
  141.     public static char mas20ASCIIxCaracter(char caracter) {
  142.         int numASCIIxCaracter;
  143.         numASCIIxCaracter=(int)caracter;
  144.         numASCIIxCaracter+=20;
  145.         caracter=(char)numASCIIxCaracter;
  146.         return caracter;
  147.     }
  148.        
  149.     //--------------------- Resultados - Tp02ejer5 --------------------//
  150.    
  151.     public static void resultados(String algo, int n){
  152.         System.out.println("El total de "+algo+" en el archivo .txt es: "+n);
  153.     } //Fin resultados.
  154.    
  155. }
  156.  
Add Comment
Please, Sign In to add comment