Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Dudas Sobre el String

Estas en el tema de Dudas Sobre el String en el foro de Java en Foros del Web. Hola comunidad, vean señores, hace poco me dedique a crear un programita algo bonito; Ingreso una cadena, la cual debe analizar si está bien escrita. ...
  #1 (permalink)  
Antiguo 28/03/2013, 20:47
 
Fecha de Ingreso: marzo-2013
Mensajes: 2
Antigüedad: 11 años, 1 mes
Puntos: 0
Exclamación Dudas Sobre el String

Hola comunidad, vean señores, hace poco me dedique a crear un programita algo bonito; Ingreso una cadena, la cual debe analizar si está bien escrita.
Explicome:
debe analizar completamente una oración, es decir, debe de reconocer: Artículo, Sustantivo, adjetivos, verbos.

Supongamos que sea esta la cadena: Juanito va caminando por la calle.
entonces el programa mandara un mensaje de que la oración se ha escrito correctamente.

Supongamos esta otra: Ellos azul estan en la casa.
Como se podrán dar cuenta, la cadena no tiene sentido, entonces deberá desplegar, los errores que se cometen.


El chiste de este programa es que verifique si una oración este bien escrita, y si algunos de las partes no se encuentra, deberá de lanzar un msg de error.

Mi primera idea fue separar la cadena ingresada en partes, pero desde allí empieza mi duda, ¿Como se hace?.
  #2 (permalink)  
Antiguo 29/03/2013, 05:57
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Dudas Sobre el String

Lo que quieres hacer es parte de la lingüística computacional, y es algo muuuuy complejo.

Si quieres hacer un simulacro, puedes definir unas pocas estructuras de frases, y usar conjuntos limitados de palabras para formar las frases.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 29/03/2013, 09:42
 
Fecha de Ingreso: enero-2011
Mensajes: 105
Antigüedad: 13 años, 3 meses
Puntos: 10
Respuesta: Dudas Sobre el String

Si lo que deseas es separar cadenas, para eso se utiliza el método split() que tiene la clase String.

http://es.wikicode.org/index.php/Split_en_Java

La verdad es que veo complicado lo que quieres hacer... ¡Suerte!
  #4 (permalink)  
Antiguo 30/03/2013, 00:06
Avatar de eagle_knight  
Fecha de Ingreso: marzo-2013
Mensajes: 14
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Dudas Sobre el String

Si estoy de acuerdo, tendrías que usar el método split()

Saludos
  #5 (permalink)  
Antiguo 30/03/2013, 07:13
 
Fecha de Ingreso: marzo-2013
Mensajes: 2
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Dudas Sobre el String

lo que intentas realizar es un analizador léxico y semántico, los cuales son fases para el desarrollo de un compilador.
la primera fase trata de separar el texto en lexemas donde tendras que ir agrupando tu lista de verbos sujetos predicados, etc
como te dijeron el método split te ayudara a separar las palabras
(tambien podias estudiar un poco expresiones regulares)
la segunda parte seria diseñar las reglas gramaticales, que pueden ser construidas a partir de árboles sintácticos.

un programa muy interesante, pero tiene su complejidad
  #6 (permalink)  
Antiguo 30/03/2013, 10:03
Avatar de ipraetoriux  
Fecha de Ingreso: abril-2010
Ubicación: ipraetoriux.com
Mensajes: 1.125
Antigüedad: 14 años
Puntos: 155
Respuesta: Dudas Sobre el String

...bueno no es tan sencillo lo que pretendes hacer, y menos en Español, que debe ser de los lenguajes mas complejos que existen...separar las palabras, es decir transformar un String en Array es el menor de tus problemas...en si, la programación no es complicada, lo complicado es los datos a usar...vas a necesitar definir conjuntos de verbos, verbos conjugados, adverbios, adjetivos, sustantivos, artículos, predicados, tiempo pasado, tiempo presente, tiempo futuro, etc, etc....luego definir todas las posibles estructuras gramaticales(como se compone una oración) que pueden generarse, y el problema del Español, es que es un lengua muy completa y compleja a diferencia de otras como el ingles...por ejemplo, en ingles, si le quieres decir a una persona que la amas o que la quieres, decís simplemente "i love you", y la intencionalidad la da el contexto...en cambio en Español, no es lo mismo decir, "te quiero" a decir "te amo" y asi hay millones de ejemplos..una vez que tenes definido todos los conjuntos de datos y las posibles variaciones de oraciones que pueden existir, cosa que podes llegar a tardar años en hacer...tenes que contrastar, cada estructura gramatical con lo que ha escrito el usuario, y luego, separarla en partes(adjetivo, sustantivo, verbo, etc) y contrastar cada uno de estos con los conjuntos de datos...la constrastacion es la parte mas simple, diseñas patterns y listo...

...ahora la pregunta del millón, que posibilidad hay algo que puedas hacer algo así? ...hacer algo como esto, completo y que funcione correctamente, no es imposible, pero necesitas TIEMPO, MUCHO TIEMPO, y muchos COLABORADORES, MUCHOS COLOBORADORES....salvo que hagas una simulación muy pequeña con algunos datos, como otros foreros te han sugerido...

...esto es muy similar a desarrollar algún tipo de compilador, que tiene su complejidad, no en la programación, sino en el planteamiento de todas las variantes que pueden surgir en las sintaxis, pero tiene la GRAN diferencia que las sintaxis y keyboards a contrastar y a analizar son muy pocas en comparación a un Idioma...
  #7 (permalink)  
Antiguo 30/03/2013, 22:45
 
Fecha de Ingreso: marzo-2013
Mensajes: 2
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Dudas Sobre el String

Gracias señores, ya trabajo en ello y ya voy en camino de una pequeña simulación,
conforme a lo que dice @ipraetoriux, tenés razón hermano, y como todos dicen, la simulación es lo correcto en este caso.

Gracias.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:53.