Título: Comparar arrays en java Publicado por: erikcdlm en 8 Octubre 2014, 03:53 am Buenas noches,
Necesito por favor de su ayuda con el siguiente programa: Por fa, las ideas me sirven de mucho, no quiero que me hagan el programa sino que me orienten en el mismo. Tengo que crear un programa que ingrese una oración, ejemplo: Juan juega con la bicicleta. Esa cadena de texto la debo comparar con unos array que ya tengo definidos: String sujeto [] = {"Juan","Ana","Diana","Pedro","Erik","Santiago","Adriana","Jenny","Luis","Jose"}; String verbos [] = {"empuja","mira","lanza","come","cuenta","paga","visita","limpia","abre","juega"}; String preposicion [] = {"a","ante","bajo","cabe","con","contra","de","desde","en","entre","hacia","hasta","para","por","según","sin","so","sobre","tras"}; String articulo [] = {"el","la","lo","los","la","las","un","una","uno","unos"}; String sustantivo [] = {"Agua","Árbol","Bicicleta","Casa","Carro","Guitarra","Juguete","Música","Pollo","Ventana"}; La idea del programa es que la cadena de texto que ingrese por consola me diga si la oración está correcta o si le hace falta algo, en este caso: sujeto, verbo, preposición, articulo o sustantivo. Yo ya generé el siguiente main donde capturo la oración: package talleroracion; import com.sun.jmx.snmp.BerDecoder; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; import javax.swing.JOptionPane; /** * * @author A80853598 */ public class TallerOracion { /** * @param args the command line arguments */ public static void main(String[] args) throws IOException { // TODO code application logic here System.out.println("Ingrese la oración: "); BufferedReader bf = new BufferedReader (new InputStreamReader(System.in)); String or = bf.readLine(); // CodigoOracion cod = new CodigoOracion(or); // cod.analizador(or); CodigoOracion cod = new CodigoOracion(or); cod.analizador(or); //JOptionPane.showMessageDialog(null, "La oracion ingresada es: "+or); } } De ahí paso a la clase donde transformo la cadena en otro array con el método split y lo que he hecho es hacer un ciclo for donde comparo la cadena entrante convertida en array versus el array de sujeto. package talleroracion; import java.util.ArrayList; import java.util.StringTokenizer; //import static jdk.nashorn.internal.objects.NativeMath.random; /** * * @author A80853598 */ public class CodigoOracion { String sujeto [] = {"Juan","Ana","Diana","Pedro","Erik","Santiago","Adriana","Jenny","Luis","Jose"}; String verbos [] = {"empuja","mira","lanza","come","cuenta","paga","visita","limpia","abre","juega"}; String preposicion [] = {"a","ante","bajo","cabe","con","contra","de","desde","en","entre","hacia","hasta","para","por","según","sin","so","sobre","tras"}; String articulo [] = {"el","la","lo","los","la","las","un","una","uno","unos"}; String sustantivo [] = {"Agua","Árbol","Bicicleta","Casa","Carro","Guitarra","Juguete","Música","Pollo","Ventana"}; public CodigoOracion(String or ) { sujeto = this.sujeto; verbos = this.verbos; preposicion = this.preposicion; articulo = this.articulo; sustantivo = this.sustantivo; } public void analizador (String or){ String cadenaporconsola [] = or.split(" "); for(int i=0; i<sujeto.length;i++) { if(cadenaporconsola[0].equalsIgnoreCase(sujeto)) System.out.println("si"); else System.out.println("no"); } } } } Pero hasta ahí he llegado por que al imprimir el programa esté me muestra cada campo del array y la salida solo debe decir si la oración está bien o si le hace falta algo y que indique que le hace falta. Por fa, las ideas me sirven de mucho, no quiero que me hagan el programa sino que me orienten en el mismo. Título: Re: Comparar arrays en java Publicado por: MeCraniDOS en 8 Octubre 2014, 16:57 pm Acuerdate de utilizar etiquetas GeSHi para tus codigos.
Quizas esto te puede ayudar, he modificado un poco las cosas que ya tienes hechas (espero que no te importe) Código
Código
Lo que haces tu en el constructor de la clase CodigoOrientacion no le veo mucho sentido Código
Estas igualando el mismo valor, en vez de eso, he cambiado los arrays a private final, para que sean accesibles solo desde la clase, y final ya que es un valor fijo. Código
He modificado el constructor para que te separe la frase cuando la introduces, de manera que cuando llamas a analizar, ya la tienes separada, (puedes cambiar eso y ponerlo donde quieras, pero ya que has puesto constructor...) Código
Y por ultimo, en el metodo analizador, he cambiado el tipo, te he puesto una descripcion comentada dentro del metodo, quizas te sirve para saber que es lo que hay mal en la oracion. El error lo tienes en la comparacion, si no quieres modificar nada de lo que he propuesto, simplemente cambia esto: Código
En el if, comparas con sujeto, no con sujeto[i ], que es el valor que te interesa. Saludos Título: Re: Comparar arrays en java Publicado por: erikcdlm en 8 Octubre 2014, 21:24 pm Muchas gracias por tu ayuda, me sirve muchisimo
Título: Re: Comparar arrays en java Publicado por: MeCraniDOS en 8 Octubre 2014, 21:29 pm Muchas gracias por tu ayuda, me sirve muchisimo De nada, si tienes alguna otra duda ya sabes ;) Título: Re: Comparar arrays en java Publicado por: mcdiso en 22 Febrero 2016, 04:27 am quien puede pasarme el codigo me urge :S porfavor
Título: Re: Comparar arrays en java Publicado por: sodark en 22 Febrero 2016, 14:23 pm quien puede pasarme el codigo me urge :S porfavor Aquí lo tienes http://bfy.tw/4O0z |