我正在尝试使用main中的方法比较两个整数或双参数。
我不明白问题是什么。
参数bitterChocolate_amount
和milkChocolate_amount
被定义为整数。
主:
boolean x = equals(bitterChocolate_amount,milkChocolate_amount)
方法:
public boolean equals (Fat other)
{
if (this == other) {
return true;
}
else {
return false;
}
}
错误消息是
required: Object
found: int,int
reason: actual and formal argument lists differ in length
1 error
答案 0 :(得分:2)
这个public boolean equals (Fat other)
是你的方法只接受一个参数。但是boolean x = equals(bitterChocolate_amount,milkChocolate_amount)
在这里你传递了两个论点。
这样做
boolean x = equals(bitterChocolate_amount,milkChocolate_amount);
方法:
public boolean equals (int bitterChocolate, int milkChocolate)
{
if (bitterChocolate == milkChocolate)
return true;
else
return false;
}
答案 1 :(得分:0)
这个public boolean equals (Fat other)
方法只接受一个参数,但是你在这里传递了2个参数equals(bitterChocolate_amount,milkChocolate_amount)
同样如你所说比较2个整数那么方法将是这样的
public boolean equals (int other,int someother)
答案 2 :(得分:0)
问题是您的actual
和formal
参数不匹配
你可以像这样编辑你的方法。
boolean x = equals(bitterChocolate_amount,milkChocolate_amount)
方法:
public boolean equals (int value1,int value2)
{
if (value1 == value2)
{
return true;
}
else
{
return false;
}
}
答案 3 :(得分:0)
实际上不需要“等于”方法。只需使用以下运算符:
if(int_a == int_b) { // returns true or false
//my code...
}
看看:http://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html
答案 4 :(得分:0)
如上所述,您尝试将两个参数(bitterChocolate_amount,milkChocolate_amount)传递给只有一个可用参数(Fat other)的方法。
更不用说参数类型(Fat)与您尝试传入的参数(int,int)不同。
我无法从您提供的代码范围中确切地说出来,但由于您在没有提及对象实例的情况下从主类调用它,您可能希望将该方法声明为静态太
这是面包和黄油的东西,我认为你应该独自一人自己弄清楚,因为你会学到更多的东西。如果您对长期投资感兴趣,我会推荐一本好书。 Head First书籍和Deitel和Deitel非常好。
答案 5 :(得分:0)
使用一个参数调用方法并使用两个参数。
答案 6 :(得分:0)
错误消息不言自明 必需:对象 found:int,int
您定义equals方法的方式,它需要一个类型为“Fat”的参数。 我假设您必须创建Fat类。
现在你使用两个整数参数调用这个方法,这就是为什么它说
必需:对象(类型为“Fat”) 并找到:int,int
现在让我们关注您的要求
如果您只想比较两个整数值,请将您的equals方法修改为下面定义的方法
public boolean equals (int value1,int value2)
{
if (value1 == value2)
{
return true;
}
else
{
return false;
}
}
在你的equals方法中,你使用了“this”,这意味着你应该在一个对象上调用它。 所以它应该是这样的
Fat f = new Fat(3);
Fat g = new Fat(4);
f.equals(g)
但是在这种情况下,当您比较对象时,(这= =其他)将不起作用,因为两个对象都不同。 ==比较对象本身而不是它们存储的值。所以我不确定你想要达到什么目的。
如果你澄清了你的要求,最好能得到正确答案。