Advertisement
Garro

Java - Prueba sumativa 1 - Ejercicio 1

Dec 30th, 2011
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.17 KB | None | 0 0
  1. //Programa que cuenta las vocales minusculas e imprime un histograma
  2. //con la cantidad de vocales de una frase cualquiera.
  3. import java.util.Scanner;
  4. public class cuentavocales00{  
  5.     public static void main (String args[]) {
  6.         String frase = leeFrase();
  7.         int c_a = cuentaVocal(frase,'a');
  8.         int c_e = cuentaVocal(frase,'e');
  9.         int c_i = cuentaVocal(frase,'i');
  10.         int c_o = cuentaVocal(frase,'o');
  11.         int c_u = cuentaVocal(frase,'u');
  12.         histograma(c_a,c_e,c_i,c_o,c_u);
  13.     }
  14. /* Muchos me preguntan que es el "do". El do funciona como un while en java. Pero que valida
  15.  * la condición al final. Osea, que java entra al do, y ejecuta todo lo que esta adentro,
  16.  * y al final, si la condición del while se cumple, regresa al do y ejecuta denuevo. */
  17. public static String leeFrase(){
  18.     Scanner tec = new Scanner(System.in);
  19.     String X = "";
  20.     boolean error = false;
  21.     do{
  22.         if (error){
  23.             System.out.println("Error! Frase nula, ingrese una frase valida.");
  24.         }System.out.print("Ingrese una frase: ");
  25.         X = tec.nextLine();
  26.         error = true;
  27.     }while(X.length()==0);
  28.     return X;
  29. }
  30. public static int cuentaVocal(String X, char x){
  31.     int cont = 0;
  32.     for (int i = 0;i<X.length();i++){
  33.         if (X.charAt(i)==x){
  34.             cont++;
  35.         }
  36.     }return cont;
  37. }
  38. public static void histograma(int a,int e,int i,int o,int u){
  39.     int mayor = mayorNumero(a,e,i,o,u);
  40.     for (int j = mayor; j>0;j--){
  41.         if (j>9){
  42.             System.out.print(j+"|");
  43.         }else{
  44.             System.out.print("0"+j+"|");
  45.         }impresion(a,j);
  46.         impresion(e,j);
  47.         impresion(i,j);
  48.         impresion(o,j);
  49.         impresion(u,j);
  50.         System.out.println();
  51.     }if(mayor!=0){
  52.         System.out.println("    a e i o u");
  53.     }else{
  54.         System.out.println("La frase no contiene vocales, por lo que no se puede hacer el histograma.");
  55.     }
  56. }
  57. public static void impresion(int x, int j){
  58.     if (x>=j){
  59.         System.out.print(" *");
  60.     }else{
  61.         System.out.print("  ");
  62.     }
  63. }
  64. public static int mayorNumero(int a,int e,int i,int o,int u){
  65.     if(a>=e&&a>=i&&a>=o&&a>=u){
  66.         return a;
  67.     }else if(e>=a&&e>=i&&e>=o&&e>=u){
  68.         return e;
  69.     }else if(i>=e&&i>=a&&i>=o&&i>=u){
  70.         return i;
  71.     }else if(o>=e&&o>=i&&o>=a&&o>=u){
  72.         return o;
  73.     }else if(u>=e&&u>=i&&u>=o&&u>=a){
  74.         return u;
  75.     }else{
  76.         return 0;
  77.     }
  78. }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement