嗨,所以我应该做一个优先级队列,按降序实现堆,从大到小,我想用指数表示。因此,我找到了堆和优先级队列类,但是现在在创建类时,我遇到了一个错误:
xponents.java:66: error: invalid method declaration; return type required
public Exponent(int num, int exponent, int x)
我不知道我哪里出了问题
public class Exponents implements Comparable<Exponents>
{
private int num;
private int exponent;
private int x;
public Exponents(int num, int exponent, int x)
{
this.num = num;
this.exponent = exponent;
this.x = x;
}
public int Answer()
{
int x = Math.pow(num,exponent);
return x;
}
public String toString()
{
String s = ("Exponent: " + exponent + "\n Number: "+ num + "\nYour x is: )" + x);
return s;
}
public int compareTo(Answer e)
{
return this.x - o.x;
}
}
问题已经解决了,因为一个错误,现在我得到更多的错误,我真的不知道我写错了什么:
Exponents.java:83: error: cannot find symbol
public int compareTo(Answer e)
^
symbol: class Answer
location: class Exponents
Exponents.java:74: error: incompatible types: possible lossy conversion from double to int
int x = Math.pow(num,exponent);
^
Exponents.java:85: error: cannot find symbol
return this.x - o.x;
^
symbol: variable o
location: class Exponents
3 errors
发布于 2017-04-09 01:07:39
构造函数中有一个错误。您的类名为Exponents
,但在构造函数中,它表示为Exponent
。它成为无效的方法声明,因为它正在寻找返回数据类型,因为您创建的“构造函数”的名称与类的名称不一样。
编辑:
Answer
。Math.pow(num,exponent).intValue()
o
的变量。https://stackoverflow.com/questions/43304890
复制