elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Comparar arrays en java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Comparar arrays en java  (Leído 5,299 veces)
erikcdlm

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Comparar arrays en java
« 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.



« Última modificación: 8 Octubre 2014, 03:58 am por erikcdlm » En línea

MeCraniDOS


Desconectado Desconectado

Mensajes: 337


Sr. Glass


Ver Perfil
Re: Comparar arrays en java
« Respuesta #1 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
  1. package talleroracion;
  2.  
  3. import java.util.Scanner;
  4.  
  5.  
  6. public class TallerOracion
  7. {
  8.    public static void main(String[] args)
  9.    {
  10.        try (Scanner teclado = new Scanner(System.in))
  11.        {
  12.            String oracion = teclado.nextLine();
  13.  
  14.            CodigoOracion cod = new CodigoOracion(oracion);
  15.            cod.analizador();
  16.        }
  17.  
  18.    }
  19.  
  20. }

Código
  1. package talleroracion;
  2.  
  3. public class CodigoOracion
  4. {
  5.    private String oracion[];
  6.  
  7.    private final String sujeto [] =  {"Juan","Ana","Diana","Pedro","Erik","Santiago","Adriana","Jenny","Luis","Jose"};
  8.    private final String verbos [] = {"empuja","mira","lanza","come","cuenta","paga","visita","limpia","abre","juega"};
  9.    private final String preposicion [] = {"a","ante","bajo","cabe","con","contra","de","desde","en","entre","hacia","hasta","para","por","según","sin","so","sobre","tras"};
  10.    private final String articulo [] = {"el","la","lo","los","la","las","un","una","uno","unos"};
  11.    private final String sustantivo [] = {"Agua","Árbol","Bicicleta","Casa","Carro","Guitarra","Juguete","Música","Pollo","Ventana"};
  12.  
  13.  
  14.    public CodigoOracion(String oracion)
  15.    {
  16.        this.oracion = oracion.split(" "); //Separamos y almacenamos cada palabra de la frase
  17.    }
  18.  
  19.    public int analizador()
  20.    {
  21.        //Con esto recorres e imprimes lo que hay en oracion
  22.        for(int i=0;i<oracion.length;i++)
  23.            System.out.println(oracion[i]);
  24.  
  25.        /* Cambiando el tipo del meotodo a int, puedes jugar con el valor de los return
  26.         Ejemplo:
  27.             return  0: todo correcto
  28.             return -1: falta el sujeto
  29.             return -2: falta el verbo
  30.             return -3: falta la preposicion
  31.             return bla bla bla....
  32.         */
  33.  
  34.        return 0;
  35.    }
  36. }

Lo que haces tu en el constructor de la clase CodigoOrientacion no le veo mucho sentido

Código
  1.    public CodigoOracion(String or)
  2.    {
  3.        sujeto = this.sujeto;
  4.        verbos = this.verbos;
  5.        preposicion = this.preposicion;
  6.        articulo = this.articulo;
  7.        sustantivo = this.sustantivo;
  8.    }

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
  1.    private final String sujeto [] =  {"Juan","Ana","Diana","Pedro","Erik","Santiago","Adriana","Jenny","Luis","Jose"};
  2.    private final String verbos [] = {"empuja","mira","lanza","come","cuenta","paga","visita","limpia","abre","juega"};
  3.    private final String preposicion [] = {"a","ante","bajo","cabe","con","contra","de","desde","en","entre","hacia","hasta","para","por","según","sin","so","sobre","tras"};
  4.    private final String articulo [] = {"el","la","lo","los","la","las","un","una","uno","unos"};
  5.    private final String sustantivo [] = {"Agua","Árbol","Bicicleta","Casa","Carro","Guitarra","Juguete","Música","Pollo","Ventana"};

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
  1.    public CodigoOracion(String oracion)
  2.    {
  3.        this.oracion = oracion.split(" "); //Separamos y almacenamos cada palabra de la frase
  4.    }

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
  1.        String cadenaporconsola [] = or.split(" ");
  2.  
  3.        for(int i=0; i<sujeto.length;i++)
  4.        {
  5.            if(cadenaporconsola[0].equalsIgnoreCase(sujeto[i]))
  6.                System.out.println("si");
  7.            else
  8.                System.out.println("no");
  9.        }

En el if, comparas con sujeto, no con sujeto[i ], que es el valor que te interesa.

Saludos


En línea

"La física es el sistema operativo del Universo"
     -- Steven R Garman
erikcdlm

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Comparar arrays en java
« Respuesta #2 en: 8 Octubre 2014, 21:24 pm »

Muchas gracias por tu ayuda, me sirve muchisimo
En línea

MeCraniDOS


Desconectado Desconectado

Mensajes: 337


Sr. Glass


Ver Perfil
Re: Comparar arrays en java
« Respuesta #3 en: 8 Octubre 2014, 21:29 pm »

Muchas gracias por tu ayuda, me sirve muchisimo

De nada, si tienes alguna otra duda ya sabes  ;)
En línea

"La física es el sistema operativo del Universo"
     -- Steven R Garman
mcdiso

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Comparar arrays en java
« Respuesta #4 en: 22 Febrero 2016, 04:27 am »

quien puede pasarme el codigo me urge :S porfavor
En línea

sodark

Desconectado Desconectado

Mensajes: 81


Ver Perfil WWW
Re: Comparar arrays en java
« Respuesta #5 en: 22 Febrero 2016, 14:23 pm »

quien puede pasarme el codigo me urge :S porfavor

Aquí lo tienes http://bfy.tw/4O0z
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Comparar arrays en C
Programación C/C++
jc1992 2 5,147 Último mensaje 8 Febrero 2013, 17:15 pm
por BatchianoISpyxolo
Concatenar dos arrays y comparar rellenar y mostrar ?
.NET (C#, VB.NET, ASP)
luis456 2 2,519 Último mensaje 2 Enero 2014, 19:36 pm
por luis456
Comparar dos arrays
PHP
1mpuls0 3 2,417 Último mensaje 12 Marzo 2014, 16:32 pm
por 1mpuls0
comparar 2 arrays en php con > o <
PHP
demonstrator 6 7,358 Último mensaje 5 Septiembre 2014, 03:48 am
por demonstrator
MOVIDO: Comparar arrays en java
Programación General
Eleкtro 0 1,764 Último mensaje 8 Octubre 2014, 04:06 am
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines