Java 如何将两个方法返回相加

Java 如何将两个方法返回相加,java,methods,return-value,Java,Methods,Return Value,好的,我有一个方法 public static int getTotalLegCountDog (ArrayList<Dog> dogList) { int temp = 0; for (int i = 0; i < dogList.size(); i++) { temp = dogList.get(i).getNumLegs(); totalLegsDogs += temp; } return tota

好的,我有一个方法

public static int getTotalLegCountDog (ArrayList<Dog> dogList)
{

    int temp = 0;
    for (int i = 0; i < dogList.size(); i++)
    {
        temp = dogList.get(i).getNumLegs();
        totalLegsDogs += temp;
    }
    return totalLegsDogs;
}

没有正确调用该方法。这道题中的数学是可靠的。问题是方法输出调用

据我所知,这些方法本身没有什么问题-很可能在实际计算支腿之前调用了
getTotalegcount

修复1(首选):让
getTotalLegCount
调用这些方法

public int getTotalLegCount (ArrayList<Dog> dogList, ArrayList<Cat> catList) {
  totalLegs = getTotalLegCountDog(dogList) + getTotalLegCountCat;
  return totalLegs;
}
public int getTotalLegCount(ArrayList dogList,ArrayList catList){
totalegs=getTotalegcountdog(dogList)+getTotalegcountcat;
收益总额;
}

修复2:非常清楚,首先要调用支腿计数方法。这是一个劣质的解决方案,因为它需要未来程序员付出更多的努力(这可能是未来的您!)。

我认为您没有向我们展示足够的代码来进行任何故障排除。看起来您必须对狗腿和猫腿进行全局静态计数?我无法理解您的用例,但无论如何,您需要确保在对成员变量执行任何操作之前调用了两个计数方法,否则它们将不会被初始化。例如:

DogCatCounter.getTotalLegDogCount(...);
DogCatCounter.getTotalLegCatCount(...);
new DogCatCounter().getTotalLegCount();

只要
DogCatCounter
的其他实例没有修改静态变量,那么第三行的结果应该是正确的。换句话说,如果您有多个
DogCatCounter
实例,对计数方法的任何调用都将修改全局静态成员。

这两个方法都在total方法之前运行,并且这两个方法都在total方法之前输出。请提供一个上下文,说明如何调用这些方法,数据的外观以及变量的定义方式和位置。变量定义的位置是
totalegs
totalegsdogs
、和
totalegscats
变量?它们是在方法之外定义的。
DogCatCounter.getTotalLegDogCount(...);
DogCatCounter.getTotalLegCatCount(...);
new DogCatCounter().getTotalLegCount();