我必须制作一个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