好吧,基本上,我创建了递归方法并相信自己已经完成了,但是无论我做什么,我都会不断遇到相同的错误!谁能告诉我我所缺少的。错误为“类型为Taco的方法eatTaco(Taco)不适用于参数(int)”。

   //recursive method
    public static int eatTaco(Taco t) {
          if (t.getOunces() == 0) {
         System.out.println("Done");
    }
        else {
    System.out.println("There are " + t.getOunces() + " of " + t.getType() + " taco remaining.");
        return eatTaco(t.getOunces() - 1);
    }

    }

最佳答案

此方法签名表示eatTacoTaco对象作为其参数。

public static int eatTaco(Taco t)


但是,当您调用它时,您传入一个整数值。

return eatTaco(t.getOunces() - 1);


您需要一种从炸玉米饼中减去盎司的方法,然后再次调用eatTaco。像这样:

System.out.println("There are " + t.getOunces()...
t.setOunces(t.getOunces() - 1);
return eatTaco(t);

关于java - 每当我尝试创建递归方法时,都会出现相同的错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55995721/

10-11 02:41