2017-04-09 20 views
0

こんにちは、優先順位キューを実装することを想定しています。ヒープを降順で、最大から小さく、指数でこれにしたいと考えています。だから、私は、ヒープと優先キュークラスをfnishedが、私のクラスを作るとき、今私はイムは優先度キューが実装されているヒープ

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; 
    } 
} 

問題が原因で修正されました間違ってどこ

xponents.java:66: error: invalid method declaration; return type required 
public Exponent(int num, int exponent, int 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 

答えて

0

あなたのコンストラクタにタイプミスがあります。クラス名はExponentsですが、コンストラクタではExponentと表示されます。これは、作成した 'コンストラクター'の名前がクラスの名前と同じではないため、戻りデータ型を探しているため、無効なメソッド宣言になります。

編集:

  1. あなたは、クラス名Answerを持っていません。
  2. doubleをintに暗黙的にキャストすることはできません。 Math.pow(num,exponent).intValue()
  3. メソッドまたはクラスのスコープ内に変数oがありません。
+0

私はそれを修正しましたが、さらにエラーが出ました。どこが間違っているのかわかりません。 – McDodger

+0

私の答えの編集をご覧ください。 – bmdelacruz

+0

ありがとう、私はすでにそれらを修正したが、私はそれが働くようになったが、今私は私の主な方法に取り組んでいる:D – McDodger

関連する問題