0

这是我家庭作业的一部分,所以我需要解释而不仅仅是答案。

我正在创建传奇的钱包类。我必须能够将一个钱包(数组)与另一个钱包(数组)进行比较。关键是我不能使用 java 数组或集合类中的任何方法。我什至从哪里开始创建这样的东西?

我在做什么的一个例子是这样的:

String[] array1 = {"Quarter", "Dime", "Nickel", "Penny"};
String[] array1 = { "Dime", "Quarter", "Penny", "Nickel"};
(Does Array1==Array2?)
return true/false

我再次需要理解这一点,所以请不要只是为我弄清楚,而是给我一些想法。

4

2 回答 2

1

您可以尝试嵌套 for 循环。在伪代码中:

for each element 'i' in Array1:
    for each element 'j' in Array2:
        does 'i' equal 'j'?
            // do something
        else:
            // do something else

这会让你开始吗?您需要更多帮助吗?

于 2013-03-10T17:50:12.687 回答
1

您比较两个数组之间的元素的方式Arrays.equal()是迭代每个元素并一次比较它们。

String[] array1 = new String[] {"Quarter", "Dime", "Nickel", "Penny"};
String[] array2 = new String[] {"Dime", "Penny", "Quarter", "Nickel"};

public boolean equalArrays(String[] array1, String[] array2) {
    if(array1.length != array2.length) {
        return false;
    }
    int matched = 0;
    for(int i = 0; i < array1.length; i++) {
        for(int j = 0; j < array2.length; j++) {
            if(array2[j].equals(array1[i])) {
                matched++;
                break;
            }
        }
    }
    return matched == array1.length;
}
于 2013-03-10T17:51:16.780 回答