La comparaison de deux entiers tableaux en java

Je suis en train d'écrire du code pour comparer deux tableaux. Dans le premier tableau, j'ai mis mes propres chiffres, mais le second, le tableau prend numéros à partir du fichier d'entrée. La taille de ce tableau est déterminé par le premier nombre dans le fichier alors que le premier tableau est toujours de taille 10. La longueur doit être la même pour les deux tableaux ainsi que les numéros. Mon code est ci-dessous:

public static void compareArrays(int[] array1, int[] array2) {
    boolean b = false;
    for (int i = 0; i < array2.length; i++) {

        for (int a = 0; a < array1.length; a++) {

            if (array2[i] == array1[a]) {
                b = true;
                System.out.println("true");
            } else {
                b = false;
                System.out.println("False");
                break;
            }
        }
    }       
}
  • Et quel problème avez-vous?
  • il ressemble à l'OP n'est pas de comparer les baies à tous. Il suffit de lire le code
  • Quelle est la question? N'est-il pas de travail?
  • il dosn fonctionne pas du tout lorsque les deux nombres sont de même il renvoie toujours false
  • D'abord, vous devez définir comment allez-vous déterminer si deux matrice sont égales pour votre exercice: baie même longueur et de même, mais pas dans le même ordre, les différents tableau des longueurs mais les mêmes éléments (accepter les éléments répétés et pas dans le même ordre), les deux matrices de même longueur et de même les éléments au même endroit?
  • C'est bien le code pour créer un hasard valeur booléenne, si. Que voulez-vous dire avec the two numbers ?
  • Je ne sais pas si j'ai raison, mais je pense que cela ressemble à un exercice pour apprendre Java et les algorithmes. Depuis des OP dans la phase d'apprentissage, pourquoi les gens vont la voie de la facilité et de dire *utiliser le Arrays#someFancyFunctionThatWontHelpYouToLearn? Au lieu de cela, nous devrions nous concentrer sur l'aide aux OP pour 1. Comprendre le problème, et 2. Atteindre sa propre réponse. Donner un poisson à un pêcheur ne sera jamais aider à lui apprendre à pêcher.
  • Il n'est pas clair, si le retour de Méthode true même si le 2ème Tableau est plus grand que le 1er.
  • c'est ce que je demande dans mon commentaire
  • êtes-vous vérifier si matrice2 contient matrice1? (êtes-vous vérifier s'il en est un sous-ensemble de l'autre?)
  • La longueur des tableaux doit être la même et les nombres juste être la même partout(1er numéro dans les tableaux doivent être les sasme et ainsi de suite)
  • Pour l'OP: Même s'il est quelque chose de facile comme .equals, je tiens à signaler DEUX erreurs que vous faites dans votre code. La première: quand vous allez à travers les tableaux, vous dire b est true ou false. Ensuite, vous commencez à nouveau afin de vérifier, en raison de la boucle for. Mais à chaque fois que vous donnez b une valeur. Donc, peu importe ce qui arrive, la valeur b est défini, c'est toujours la valeur de la DERNIÈRE boucle for. La prochaine fois, ensemble boolean b = true, si equal = true, ne rien faire, en cas d'égalité = false, b=false.
  • Deuxièmement, vous êtes maintenant à la vérification de chaque valeur dans le tableau array1 avec chaque valeur dans le tableau2. Si je comprends bien, vous avez uniquement besoin de vérifier les valeurs au même endroit, dans le tableau, ce qui signifie que vous devriez avoir supprimé le deuxième boucle for et vérifier comme ceci: if (array2[i] == array1[i]). Ensuite, votre code doit fonctionner ainsi.
  • vous devez écrire une réponse au lieu de beaucoup de commentaires qui fournissent une réponse 🙂
  • Mendoza votre droite, j'ai reçu votre commentaire après que j'ai commis la mine
  • J'ai refait ma réponse à refléter tous les

InformationsquelleAutor user2052514 | 2013-02-15