Adsence

viernes, 6 de abril de 2012

Buscar-palabras-peligrosas-en-un-mensaje

Leave a Comment
[caption id="attachment_793" align="aligncenter" width="685"]Buscar palabras peligrosas en un mensaje en Java Buscar palabras peligrosas en un mensaje en Java[/caption]

1. Analizar mensaje

  • La opción 1:

    • Luego pedirá el mensaje


    Cuidado! El contenido del mensaje puede ser peligroso. El usuario: <> ha escrito “<>“


El contenido del mensaje no es peligroso

Sale de la aplicación

Mientras que el usuario no pulse 2, volverá a salir el menú.

  • Para saber si una cadena está contenida dentro de otra, observa el API de String e implementa esta funcionalidad como consideres




[java]

import java.util.Scanner;
public class analizador
{

/*
Echelon, pide a los alumnos que desarrollen una aplicación en Java para analizar los mensajes que se intercambian los alumnos,
ya que se sospecha que podría haber algún “sujeto peligroso” en el centro.
Un mensaje será peligroso cuando incluya alguna de las siguientes palabras peligrosas: terrorista, criminal, asesinato, matar, espiar y
otras que el alumno considere que podrían ayudar a encontrar al sujeto peligroso (que estarán incluidas en un array dentro del programa).
La aplicación deberá analizar mensajes (que en este caso se introducirán por teclado), e indicará cuales de ellos son peligrosos (aquellos que incluyan alguna de las palabras peligrosas, previamente definidas).
Para probar su funcionamiento tendremos un menú:
1. Analizar mensaje
2. Salir
La opción 1:
pedirá al usuario que indique primero la dirección de correo de la persona que envía el mensaje
luego pedirá el mensaje
Si es un mensaje peligroso lo imprimirá por pantalla indicándolo:
Cuidado! El contenido del mensaje puede ser peligroso. El usuario: < < correo-e > > ha escrito “< < mensaje > >“
En caso contrario escribirá:
El contenido del mensaje no es peligroso
La opción 2:
Sale de la aplicación
Notas:
Mientras que el usuario no pulse 2, volverá a salir el menú.
Para leer de teclado utilizar la clase Scanner del paquete java.util vista en clase
Para saber si una cadena está contenida dentro de otra, observa el API de String e implementa esta funcionalidad como consideres
*/

/*
Lo uso para poder leer desde teclado
*/
public static Scanner Leer=new Scanner(System.in);
/*
Vector que contendra las palabras prohibidas
*/
public static String peli[]=new String[5];

public static void llenarvector()
{
//terrorista, criminal, asesinato, matar, espiar
peli[0]="terrorista";
peli[1]="criminal";
peli[2]="asesinato";
peli[3]="matar";
peli[4]="espiar";
}
/*
Funcion que uso para imprimir texto y evitar escribir mucho System.out.println
*/
public static void p(String m)
{
System.out.println(m);
}
public static void menu()
{
p("Analizador de Mensajes......");
p("1. Analizar Mensaje.");
p("2. Salir");
p("Escoje una opcion: ");
int op=Leer.nextInt();
switch(op)
{
case 1:
analizar();
/* Volvemos a mostrar el menu */
menu();
break;
case 2:
p("Gracias por usar nuestros sistema");
break;
default:
p("Opcion no valida, por favor intenta de nuevo.");
menu();
break;
}

}
public static void analizar()
{
p("Correo electronico del Remitente:");
String correo=Leer.next();
p("Mensaje:");
Leer.nextLine();
String mensaje=Leer.nextLine();
if(buscarPalabras(mensaje)==true)
{
System.out.println("Cuidado! El contenido del mensaje puede ser peligroso. El usuario: < < "+correo+" > > ha escrito:\n “< < "+mensaje+" > >“");
}else{
System.out.println("El contenido del mensaje no es peligroso");
}

}
/*
Se encarga de buscar en el mensaje las palabras peligrosas
*/
public static boolean buscarPalabras(String m)
{
for(int i=0;i< peli.length;i++)
{
String pala=peli[i];
//Variable que uso para saber donde empieza el substring
int ini=0;
for (int j = 0; j < m.length(); j++)
{
char letras=m.charAt(j);
//Esto indica que se a encontrado una palabra nueva
if(letras==' ')
{
String nuevap=m.substring(ini, j);
//Actualizo el valor de ini
ini=j+1;
/*Antes de comparar, convierto todo a mayuscula para no tener
problemas con las minisculas*/
nuevap.toUpperCase();
pala.toUpperCase();
//Comparo par saber si esta palabra esta o no prohibida
if(nuevap.equals(pala)==true)
return true;
}

}
}
return false;
}

public static void main(String[] args)
{
llenarvector();
menu();
}
}

[/java]

0 comentarios :