【问题标题】:Accessing an array from a different object从不同的对象访问数组
【发布时间】:2012-11-29 17:55:50
【问题描述】:

我一直在为学校做评估。它要求我在不同的对象中制作 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;
    }   
}

我很抱歉选择了奇怪的变量名。但是你知道如何解决这个问题。我已经尝试了很多东西,但现在很沮丧。

【问题讨论】:

  • “当我尝试比较来自两个不同对象的两个数组时,它出错了”:请详细说明。 什么出了问题?
  • 感谢 Rohit 编辑帖子 :)
  • 我正在尝试比较对象 A 和 B 中数组的结果。他唯一要比较的是对象 B 和 B 中的数组。他不接受第一个数组。
  • 事情是这样的。我不能在其中添加任何其他方法。我的学校真的很坚定,希望它在这个大纲中,草稿。我必须坚持使用 A.deelverzamelingVan(B)。

标签: java arrays object compare


【解决方案1】:

对于数组比较,您可以使用 Java SE 方法 Arrays.equals(array1, array2)

您还声明您的 elementenstatic

【讨论】:

  • 我在第二个脚本的基础上一直这样做。它有点复杂,但我需要检查数组 1 的值是否存在于数组 2 中。所以它不必在确切的某个位置。
  • 该死的...谢谢我明白了!啊终于。非常感谢。我终于可以继续我的任务了
  • 没问题。如果有帮助,您可以接受或支持我的回答:)
  • 我接受了它,但由于缺乏代表我无法投票。试过:(
猜你喜欢
  • 2019-08-28
  • 2019-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多