比较同一类中的两个int,在不同的类中

时间:2018-01-09 10:42:57

标签: java arrays class if-statement

为学校做一项重大任务,需要帮助解决问题。

我们需要比较来自" Class X"的两个整数。 (属性类),在" Y类"我们有哪些方法。这只是作业的结构。

到目前为止我们的代码:

 $number=  (float) $value;;

问题:结果无法解决变量。对于Event类型,未定义maxAttempts。

其他课程:

import java.util.ArrayList;

public class Event {

private String name;
private int numberOfTries;
private ArrayList<Result> resultList = new ArrayList<Result>();

public Event(String name, int numberOfTries) {
    this.name = name;
    this.numberOfTries = numberOfTries;
}

public String getName() {
    return name;
}

public int getNumberOfTries() {
    return numberOfTries;
}

public String toString() {
    return name + ", " + numberOfTries;
}

public void addResult(Participant partResult) {
    int participantIndex = -1;
    for (int i = 0; i < resultList.size(); i++) {
        if (resultList.get(i).getParticipant().getStartNumber() == partResult.getStartNumber()) {
    for (int a = 0; a < result.length; a++)
    result[i] = maxAttempts();
}
}
}
}

2 个答案:

答案 0 :(得分:0)

好吧,我不确切知道代码的逻辑,但你可以将addResult方法更改为:

public void addResult(Participant partResult) {
    int participantIndex = -1;
    for (int i = 0; i < resultList.size(); i++) {
        Result result = resultList.get(i);
        if (result.getParticipant().getStartNumber() == partResult.getStartNumber()) {
            for (int a = 0; a < result.getResult().length; a++)
                result.getResult()[i] = result.getMaxAttempts();
        }
    }
}

答案 1 :(得分:0)

在您的Event类中,您执行以下操作:

requires_version_index

但是在您的活动课程中,您没有result[i] = maxAttempts(); 方法。您需要添加此方法,或从正确的类/实例中调用它。

这回答了这个问题:

  对于类型Event,

未定义maxAttempts。

另一个问题:

  

结果无法解决变量。

您正在尝试将该方法的结果指定为名为maxAttempts的数组的元素,但您的result类中没有此类数组,您的方法中也没有本地变量。< / p>

修改

要调用该方法,首先需要做的是创建类Event的实例

Result

完成后,您可以调用get方法:

Result example = new Result(0, 5, partResult);

然后你有你的结果。如果要将其存储在数组中,则需要在本地或类级别创建该数组(或其他变量)。

无论哪种方式,我的建议是停止做你现在正在做的事情。你写了很多你不了解的代码。

首先要了解OO的基本原则,之后会更容易。