首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >优先级队列实现堆

优先级队列实现堆
EN

Stack Overflow用户
提问于 2017-04-09 08:58:47
回答 1查看 91关注 0票数 0

嗨,所以我应该做一个优先级队列,按降序实现堆,从大到小,我想用指数表示。因此,我找到了堆和优先级队列类,但是现在在创建类时,我遇到了一个错误:

代码语言:javascript
运行
复制
xponents.java:66: error: invalid method declaration; return type required
public Exponent(int num, int exponent, int x)

我不知道我哪里出了问题

代码语言:javascript
运行
复制
  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;
   }
}

问题已经解决了,因为一个错误,现在我得到更多的错误,我真的不知道我写错了什么:

代码语言:javascript
运行
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-09 09:07:39

构造函数中有一个错误。您的类名为Exponents,但在构造函数中,它表示为Exponent。它成为无效的方法声明,因为它正在寻找返回数据类型,因为您创建的“构造函数”的名称与类的名称不一样。

编辑:

  1. 您没有类名Answer
  2. 不能隐式地将双重转换为int。您可以使用Math.pow(num,exponent).intValue()
  3. 在方法或类的作用域中没有一个名为o的变量。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43304890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档