*Este programa permite dada una frase introducida por el usuario contar la cantidad de digitos, caracteres
*especiales, letras, y las veces que se repite una letra.
*
*@author Domingo Clemente
*@version 1.0
*/
import java.io.*;
public class p02{
public static void main(String arg[])throws IOException {
int i, j, x, repeticion, letras, numero, blanco, otros;
String str, cadena;
//LEER LA FRASE
BufferedReader in;
in=new BufferedReader(new InputStreamReader(System.in));
System.out.println("\n\n");
System.out.print("Introduzca una frase: ");
str=in.readLine();
//Creo un arreglo para contar cada caracter
x = str.length();
char c[] = new char [x];
c = str.toCharArray(); //convierte el string a un array
//Inicializo los contadores
numero=0;
blanco=0;
otros=0;
letras=0;
System.out.println("La frase de entrada es " + str);
System.out.println("El tamaño de la frase es: " + x);
// Se cuentan los tipos de caracteres introducidos en la frase
for(i=0; i
if(Character.isLetter(c[i]))
letras+=1;
else if(Character.isDigit(c[i])) //ver si es un digito
numero+=1;
else if(Character.isWhitespace(c[i]))// ver si es un espacio en blanco
blanco+=1;
else
otros +=1; // es un caracter especial
}
//Se imprimen los primeros resultados del analisis de la frase
System.out.println("Cantidad de Letras es: " + letras);
System.out.println("Cantidad de Digitos es: " + numero);
System.out.println("Cantidad de Espacios en Blanco es: " + blanco);
System.out.println("Cantidad de Caracteres Especiales es: " + otros);
// Se cuentan las repeticiones, cuando se consigue una repeticion, en esa posicion se le asigna un blanco,
// para no volverlo a contar, en la siguiente pasada del ciclo for.
for(i=0; i
{
if(Character.isLetter(c[i])) //ver si es una letra
{
repeticion=0;
for(j=i+1; j
// Se verifican las repeticiones, sin tomar en cuenta si son mayusculas o minusculas.
if (Character.toUpperCase(c[i])==Character.toUpperCase(c[j]))
{
repeticion++;
c[j]=' ';
}
}
// Si hay repeticiones, envio el mensaje con la cantidad de veces que se repite
if (repeticion>0)
System.out.println("La letra " + c[i] + " se repite: " + repeticion + " veces");
}
}
}
}
No hay comentarios:
Publicar un comentario