增加数量误差 - 解决方案?

时间:2016-10-27 10:37:39

标签: java

我坚持做一个真正开始让我回到课堂上的练习。基本上在这段代码中,我希望这个传递方法的结果可以调用increaseQuantity方法,虽然我认为它很简单但我在编译时经常遇到错误。

错误消息显示为:

  

方法expandQuantity in class Product不能给定给定的类型;必需的;发现:没有争论;原因:实际和正式的参数列表长度不同。

我确实打了这个墙,所以任何帮助都会受到十倍的赞赏!

public int delivery (int id, int amount) 
{
    int index = 0;
    boolean searching = true;
    Product myproduct = stock.get(0);
    while(searching && index < myproduct.getID()){
        int Products = myproduct.getID();
        if(Products == id) {
            searching = false;
        }
        else {
            index++;
        }
    }
    if(searching) {
        return 0;
    }
    else {
        return myproduct.increaseQuantity();
    } 
}

非常感谢那些回应的人。

1 个答案:

答案 0 :(得分:0)

比特广泛且缺少代码,但如果您的问题是代码无法编译,那么您可以在这里找到代码内部解释的工作示例。

public class Main {
    public static void main(String[] args) throws Exception {
        // TODO do something
    }

    // must fill it somehow
    private List<Product> stock;

    // method signature wants an int as return type!!       
    public int delivery(int id, int amount) {
        int index = 0;
        boolean searching = true;
        Product myproduct = stock.get(0);
        while (searching && index < myproduct.getID()) {
            int Products = myproduct.getID();
            if (Products == id) {
                searching = false;
            } else {
                index++;
            }
        }
        if (searching) {
            // this already returns an int (0)
            return 0;
        } else {
            // your error was here because
            // increaseQuantity does not return an int *
            return myproduct.increaseQuantity();  //   |
        }                                         //   |
                                                  //   |
    }                                             //   |
                                                  //   |  
}                                                 //   |
                                                  //   |
class Product {                                   //   |
    // just my guess                              //   |
    private int ID;                               //   |
                                                  //   |
    public int getID() {                          //   |
        return this.ID;                           //   |
    }                                             //   |
                                                  //   |
    // here must be your problem, now this        //   |
    // method signature says to return an int!!   //   |    
    public int increaseQuantity() {               //   |
        // ↑ this indicates return type!               |
        // *-------------------------------------------*

        // add here your method logic
        return 0; // change this!
    }

}