我必須製作一個100個數字的數組,然後隨機隨機洗牌20個,以擁有2個不同的數組; A和B檢查數組是否是其他數組的子集。 Java
對於這個任務,我不得不請檢查是否從陣列中的第20號是第20號AF數組b
最多的一個子集,到現在爲止我有這樣的:
import java.util.Random;
public class opgave6 {
public static void main(String[] args){
Verzameling a = new Verzameling(20, 3);
Verzameling b = new Verzameling(20, 4);
System.out.println(Verzameling.deelverzamelingVan());
}
}
class Verzameling {
int[] elementen;
int elementen2;
static int aantal2;
Verzameling(int aantal , int seed) {
elementen = new int[100];
int aantal2 = aantal;
for(int i = 0; i < 100; i++){
elementen[i] = i;
}
Random random1 = new Random(seed);
for(int i = 0; i < 100; i++){
int r = random1.nextInt(100);
int temp;
temp = elementen[i];
elementen[i] = elementen[r];
elementen[r] = temp;
}
printVerzameling(aantal);
}
Verzameling(int seed) {
}
void printVerzameling(int aantal){
for (int i = 0; i < aantal; i++){
System.out.print(elementen[i] + " ");
}
System.out.println();
}
static boolean deelverzamelingVan() {
while (true) {
for(i = 0; i < aantal2; i++){
for(j = 0; j < aantal2; j++){
if(Verzameling.a.elementen[i] = Verzameling.b.elementen[j])
break;
}
}
}
}
}
但是,它根本不起作用,因爲我無法弄清楚如何將對象A中的elementen [i]與對象B中的元素[j]進行比較。如何通過使用靜態方法比較兩個對象中的不同元素同一班。
(所以Verzameling A和B是Verzameling類的兩個實例,用靜態方法如何從Verzameling A和B在陣列中得出的數字,以檢查是否A是B的子集?)
如果有什麼不清楚請讓我知道!我不需要完整的解決方案,只需要從對象A和B中獲取elementen [i]的價值,謝謝!
編輯:
這就是問題所在行:
如果(Verzameling.a.elementen [I] == Verzameling.b.elementen [j]的)
感謝您的評論,但是當我編譯時它仍然是錯誤的。它說它無法找到有關verzameling.a.elementen,i,verzameling.b.elementen和j的符號。我想我命名它錯了,可以通過說:objectname.objectname.variable來調用變量嗎?
感謝@ hvgotcodes的佈局編輯,我似乎從來沒有得到它的工作?你怎麼做呢? – Javaaaa 2010-11-03 18:51:27
您是否複製並粘貼了這段代碼?或者在SO中鍵入?你不應該有一個'=';它應該是'=='。但是,它不會編譯,所以這可能不會幫助你。 – 2010-11-03 18:51:28
@javaa,我在編輯器中使用了代碼格式化圖標 - 它是一堆1和0。 – hvgotcodes 2010-11-03 18:54:10