学校の評価をしてきました。異なるオブジェクト内にそれぞれ 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;
}
}
変な変数名を選んですみません。しかし、これを解決する方法はありますか。私は多くのことを試しましたが、現時点ではかなりイライラしています。