Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Programa que cuenta las vocales minusculas e imprime un histograma
- //con la cantidad de vocales de una frase cualquiera.
- import java.util.Scanner;
- public class cuentavocales00{
- public static void main (String args[]) {
- String frase = leeFrase();
- int c_a = cuentaVocal(frase,'a');
- int c_e = cuentaVocal(frase,'e');
- int c_i = cuentaVocal(frase,'i');
- int c_o = cuentaVocal(frase,'o');
- int c_u = cuentaVocal(frase,'u');
- histograma(c_a,c_e,c_i,c_o,c_u);
- }
- /* Muchos me preguntan que es el "do". El do funciona como un while en java. Pero que valida
- * la condición al final. Osea, que java entra al do, y ejecuta todo lo que esta adentro,
- * y al final, si la condición del while se cumple, regresa al do y ejecuta denuevo. */
- public static String leeFrase(){
- Scanner tec = new Scanner(System.in);
- String X = "";
- boolean error = false;
- do{
- if (error){
- System.out.println("Error! Frase nula, ingrese una frase valida.");
- }System.out.print("Ingrese una frase: ");
- X = tec.nextLine();
- error = true;
- }while(X.length()==0);
- return X;
- }
- public static int cuentaVocal(String X, char x){
- int cont = 0;
- for (int i = 0;i<X.length();i++){
- if (X.charAt(i)==x){
- cont++;
- }
- }return cont;
- }
- public static void histograma(int a,int e,int i,int o,int u){
- int mayor = mayorNumero(a,e,i,o,u);
- for (int j = mayor; j>0;j--){
- if (j>9){
- System.out.print(j+"|");
- }else{
- System.out.print("0"+j+"|");
- }impresion(a,j);
- impresion(e,j);
- impresion(i,j);
- impresion(o,j);
- impresion(u,j);
- System.out.println();
- }if(mayor!=0){
- System.out.println(" a e i o u");
- }else{
- System.out.println("La frase no contiene vocales, por lo que no se puede hacer el histograma.");
- }
- }
- public static void impresion(int x, int j){
- if (x>=j){
- System.out.print(" *");
- }else{
- System.out.print(" ");
- }
- }
- public static int mayorNumero(int a,int e,int i,int o,int u){
- if(a>=e&&a>=i&&a>=o&&a>=u){
- return a;
- }else if(e>=a&&e>=i&&e>=o&&e>=u){
- return e;
- }else if(i>=e&&i>=a&&i>=o&&i>=u){
- return i;
- }else if(o>=e&&o>=i&&o>=a&&o>=u){
- return o;
- }else if(u>=e&&u>=i&&u>=o&&u>=a){
- return u;
- }else{
- return 0;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement