2017-11-26 3 views
-3

次のタスクでは、変数 "degree" & "coeffs"を満たすために、次のメソッド "public Polynomial(double [] c)"のコードを記述する必要があります。クラス内のメソッドが定義されていないのはなぜですか? (初心者)

私はthisと同じ質問をしましたが、なぜ私はエラーを受けているのか分かりません。

メインメソッドと多項式メソッド内のコードのほかに、コードをタスクのコードから変更していません。

誰も私が作っている愚かな間違いを説明できますか?

ソースコード:

public class Polynomial { 


    private int degree; // highest power of x 
    private double[] coeffs; // Array with coefficients, all coefficients [0..degree] are necessary 

    public static void main(String[] args) 
    { 
     double[] c = {4, 2, 3, 3, 5}; 
     Polynomial(c); //Error: The method Polynomial(double[]) is undefined for the type Polynomial 

    } 

    public Polynomial(double[] c) 
    { 
     this.coeffs = c; 
     this.degree = c.length; 
    } 

} 
+6

これはコンストラクタであり、メソッドではありません。 –

+6

'多項式p =新しい多項式(c);' –

+0

あなたは何を*期待していましたか?これはコンストラクタであり、通常のメソッドではありません。 'main'は静的であり、そうではありません。また、結果を変数に格納しないので、成功したとしても何が行われるべきかは明確ではありません。 – EJoshuaS

答えて

1

Polynomial(c)はコンストラクタですので、あなたがしようとして、あなたは、それを実行することはできません。あなたはmain()方法でPolynomialクラスの新しいインスタンスを作成する必要があります。

new Polynomial(c); 

そして、あなたが期待するとして、それが作品になります。

関連する問題