我坚持做一个真正开始让我回到课堂上的练习。基本上在这段代码中,我希望这个传递方法的结果可以调用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();
}
}
非常感谢那些回应的人。
答案 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!
}
}