Autor: Gianinna Salazar.
Competencia: Aplica las Ciencias de la ingeniería (Nivel 1).
Asignatura: Desarrollo y Aplicación Cliente Servidor.
Palabras clave: Informe, lenguaje Java y programa Netbeans.
Competencia: Aplica las Ciencias de la ingeniería (Nivel 1).
Asignatura: Desarrollo y Aplicación Cliente Servidor.
Palabras clave: Informe, lenguaje Java y programa Netbeans.
Descripción de la Actividad
Les voy a compartir mi experiencia, como estudiante de 1er año de Ingeniería civil informática, sobre la vez que tuve que realizar un programa en Netbeans.
El trabajo consistía en crear un programa en Java que permitiera al usuario ingresar una frase y al ingresarlo este debía verificar si lo ingresado era una frase o eran números.
Si lo ingresado era un número, el programa tenía que mostrar un mensaje de error diciendo que solo se permitían letras y no números y si lo ingresado era una frase, este debía separar las consonantes de las vocales.
El trabajo consistía en crear un programa en Java que permitiera al usuario ingresar una frase y al ingresarlo este debía verificar si lo ingresado era una frase o eran números.
Si lo ingresado era un número, el programa tenía que mostrar un mensaje de error diciendo que solo se permitían letras y no números y si lo ingresado era una frase, este debía separar las consonantes de las vocales.
Solución
Paso 1: Ejemplos.
Entrada proceso salida
jorge [proceso] jrg - oe
Gianinna [proceso] Gnnn-iaia
azUl [proceso] zl-aU
VERDE [proceso] VRD-EE
@hotmail [proceso] Error: @ no es una letra.
12345 [proceso] Error: 1 no es una letra.
Comp utador [proceso] Error: Espacio no es una letra.
mesa [proceso] Error: Espacio no es una letra.
http// [proceso] Error: / no es una letra.
EscObA [proceso] scba-EOA
PaRaLeLePíPeDo [proceso] PRLLPPD-aallieo
Rec4tángulo [proceso] Error: 4 no es una letra.
+ [proceso] Error: + no es una letra.
las 2:30 [proceso] Error: Espacio no es una letra.
jorge.a.ms [proceso] Error: . no es una letra.
Paso 2: Análisis y Diseño (Proceso).
La solución estándar al problema de determinar las vocales y las consonantes de una frase, la cual es ingresada por teclado, es separar las vocales de las consonantes para así determinarlas más fácilmente. Esto se hace con un for en donde recorre toda la frase (letra por letra) y si es igual a una vocal minúscula o mayúscula la guarda en una variable llamada vocal.
En el caso de que no sea vocal la guarda como consonante en una variable llamada consonante.
El programa solo reconocerá caracteres tales como vocales y consonantes cualquier otro carácter distintos a estos no será validado, por lo que el programa arrojara un error que especifique lo que es y donde se encuentra, posteriormente la frase será descalificada del concurso.
En la imagen se muestra el proceso de Exception en donde existen dos excepciones una para los espacios y otro para cualquier carácter distinto a letra.
Esto se hace dentro de un metodo en donde se especifica el carácter para cualquier frase distinta de letra ente entra en un for y lo verifica para saber si existe esto en la frase ingresada por el usuario, luego de encontrarlo entra en un if donde si el carácter es igual a un espacio muestra un mensaje de Error para espacio y si no es espacio tira un error donde dice que el carácter no es una letra.
Paso3: Código Fuente.
Clase Principal
package separarletrasexception;
import java.util.*;
/**
*
* @author gianinna
*/
public class SepararLetrasException {
public static void main(String[] args) {
try{
Scanner leer= new Scanner(System.in);
System.out.print("Ingrese una frase:");
String frase= leer.nextLine();
String consonante="";
String vocal="";
int voc = 0; //Contador de vocal
int con = 0; //Contador de vocal
for(int i =0; i<frase.length();i++)
{ //Condición para encontrar las vocales
if(frase.charAt(i)=='a'||frase.charAt(i)=='e'||frase.charAt(i)=='i'||
frase.charAt(i)=='o'||frase.charAt(i)=='u'||frase.charAt(i)=='A'||
frase.charAt(i)=='E'||frase.charAt(i)=='I'||frase.charAt(i)=='O'||
frase.charAt(i)=='U')
{
//Cuenta las vocales
voc++;
vocal=vocal+frase.charAt(i);
ChequearFrase(vocal);
}
else
{ //Cuenta las consonantes
con++;
consonante=consonante+frase.charAt(i);
ChequearFrase(consonante);
}
}
System.out.println("Las consonantes son: "+consonante);
System.out.println("Las vocales son: "+vocal+"\n");
}
catch (ExceptionParaLetras e){ //En caso de error entra al cath
System.out.println("Error:"+ e.getMessage()); //Muestra el error
}
finally {
System.out.println("Fin del programa"); //Finaliza el programa
}
}
//Método donde se configura la exception para que revise que la frase solo
//tenga letras.
public static void ChequearFrase(String fraseln) throws ExceptionParaLetras{
char caracter ='0';
for(int i=0;i<fraseln.length();i++){
//Obtengo la letra ubicada en la posicion i de la cadena <nombreln.length()>.
caracter= fraseln.charAt(i);
//Utilizando el metodo isLetter() de la clase Character, verifico si la variable
//<caracter> es una letra.
//Si esta variable contiene un caracter que no es letra, entonces el entra en el
//ambito del if.
if(!Character.isLetter(caracter)){
String error;
if(caracter==' ')
{error= "Espacio no es una letra. Solo se pueden usar letras en la frase.\n";}
else{
error = caracter+ " no es una letra. Solo se pueden usar letras en la frase.\n";}
throw new ExceptionParaLetras(error);
}
}
}
}
Clase Heredada de la clase principal
package separarletrasexception;
/**
*
* @author gianinna
*/
public class ExceptionParaLetras extends Exception{
public ExceptionParaLetras(String mgs) {
super (mgs);
}
}
Imagen netbeans clase principal:
Imagen netbeans heredada de clase principal:
Salida con frase correcta
Frase: hola
Salida con frase incorrecta
Frase: hola hola
Salida con frase incorrecta
Frase: ho23
Paso 4: Diagrama de Actividad.
Paso 4: Diagrama de Clase.
Reflexión
Este trabajo me sirvió para aprender del uso de Netbeans y de las diversas cosas que se pueden realizar con este programa.
Lo que mas me pareció interesante de realizar este programa fue el crear Excepciones, ya que uno crea una restricción permitiendo al usuario que solo ingrese lo que el programa pide y si por error ingreso algo que no correspondía le muestre en mensaje de error diciendo que lo que ingreso lo corresponde a lo pedido.
Este tipo de errores ocurren usualmente ya que no todas las personas entienden las instrucciones de la misma forma entonces un buen mensaje diciendo que lo ingresado no es lo permitido hace el usuario entienda mejor la instrucción e ingrese lo correcto.
No hay comentarios:
Publicar un comentario