11 enero 2019

Java: Pangrama o frase holoalfabética

Hola, acá les dejo la solución de una tarea de programación en la que me solicitaron ayuda.

Verificar si una frase o texto es un pangrama.


Un pangrama (del griego: παν γραμμα, «todas las letras») o frase holoalfabética es un texto que usa todas las letras posibles del alfabeto de un idioma.

https://es.wikipedia.org/wiki/Pangrama


Esta simple clase contiene cuatro metódos diferentes de verificar si un texto es un pangrama

Espero les sea de utilidad

////////////////////////////////


public class Panagrama {

public static void main(String[] args) {
//String strFrase = "abcdefghijklmnopqrstuvwxyz";
String strFrase = "El cadáver de Wamba, rey godo de España, fue exhumado y trasladado en una caja de zinc que pesó un kilo";
char [] arrFrase = strFrase.toCharArray();
String strAlfabeto = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char [] arrAlfabeto = strAlfabeto.toCharArray();

boolean blnTodas = isPanagram2(arrAlfabeto,arrFrase);
System.out.println("La frase : "+ strFrase );
if(blnTodas) System.out.println("Es Pangrama");
else System.out.println("No es Pangrama");

}

public static boolean isPanagram(String strFrase){
//recorro todas las letras del alfabeto
for(int i = 0 ; i < 26 ; i++){
if(!strFrase.toUpperCase().contains(""+(char)(65+i)))
return false;
}
return true;
}


public static boolean isPanagram2(String strFrase){
boolean blnLetra = false;
for(int i = 0 ; i < 26 ; i++){
blnLetra = false;
for(int j=0;j if((""+(char)(65+i)).equals(""+strFrase.toUpperCase().charAt(j))){
blnLetra=true;
break;
}

}
if(!blnLetra) return false;
}
return true;
}

public static boolean isPanagram3(String strFrase){
for(int i = 0 ; i < 26 ; i++){
boolean blnLetra = true;
for(int j=0;j if((""+(char)(65+i)).equals(""+strFrase.toUpperCase().charAt(j))){
blnLetra = false; ;
break;
}

}
if(blnLetra) return false;
}
return true;
}


public static boolean isPanagram2(char[] arrAlfabeto, char[] arrFrase){
boolean blnLetra;
for(int i = 0 ; i < arrAlfabeto.length; i++){
blnLetra = false;
for(int j=0;j if((""+arrAlfabeto[i]).toUpperCase().equals((""+arrFrase[j]).toUpperCase())){
blnLetra=true;
break;
}

}
if(!blnLetra) return false;
}
return true;
}

}


////////////////////////////////

No hay comentarios:

.NET: Ejemplo de como usar Dynamic con C#

Hola a todos, le dejo un ejemplo simple de como manejar la clase Dynamic que nos provee el paquete System.Dynamic del .Net Framework. Pa...