0

学校の評価をしてきました。異なるオブジェクト内にそれぞれ 2 つの配列を作成する必要があります。乱数を取得するだけで、それほど派手なことはありません。すべてが思い通りに進みますが、異なるオブジェクトの 2 つの配列を比較しようとすると、うまくいきません。これが私のコードです

public class Opdracht8 {

    public static void main(String[] args) {

    Verzameling A = new Verzameling (20, 3);
    System.out.println("Verzameling A:\n" + A);
    System.out.println();

    Verzameling B = new Verzameling (20, 4);
    System.out.println("Verzameling B:\n" + B);

    System.out.println();
    System.out.println("A deelverzameling van B? " + A.deelverzamelingVan(B));

    }
}

そして「計算部分」

import java.util.Random;

class Verzameling {
   static int [] elementen;

    Verzameling(int aantal, int seed) {
        elementen = new int[aantal];
        Random randomGenerator = new Random(seed);
        int [] tijdelijkeArray = new int [100];
        /* Vullen van de vergelijkings array met de waarde van 1 tot 100 
         */

        for (int counter = 0; counter < 100; counter ++) {
            tijdelijkeArray[counter] = counter + 1;
        }

        /* Random getal genereerder. Hier vind het ook het swappen plaats dmv een 
         * temporary variable
         */

        for (int index = 0; index < aantal; index ++) {
            int randomNumber = index + randomGenerator.nextInt(100 - index);

            int temp = tijdelijkeArray[index];
            tijdelijkeArray[index] =  tijdelijkeArray[randomNumber];
            tijdelijkeArray[randomNumber] = temp;

        }   

        for(int index = 0; index < aantal; index++) {
            elementen[index] =  tijdelijkeArray[index];
        }
    } 

    Verzameling(int[] elementen) {
        this.elementen = elementen;

    }

    boolean deelverzamelingVan(Verzameling V) {

        for (int counter = 0; counter < this.elementen.length; counter ++) {
            if (this.elementen[counter] == V.elementen[counter]) {
                System.out.println(this.elementen[counter] +" " +  V.elementen[counter]);
                if (counter == (this.elementen.length - 1)) {
                    return true;
                }    
                continue;
            }
            else
                return false;

        }
        return false;


    }



    public String toString () {
        String reeks = "";
        for (int i = 0; i < elementen.length; i ++)
            reeks = reeks + elementen[i] + " ";

        return reeks;
    }   
}

変な変数名を選んですみません。しかし、これを解決する方法はありますか。私は多くのことを試しましたが、現時点ではかなりイライラしています。

4

1 に答える 1

0

配列の比較には、Java SE メソッドを使用できますArrays.equals(array1, array2)

また、 staticelementenとして宣言しました。

于 2012-11-29T18:00:25.860 に答える