2017-11-26 1 views
-3

In der folgenden Aufgabe muss ich Code für die folgende Methode schreiben "public Polynomial (double [] c)", um die Variablen "degree" & "coeffs" zu füllen.Warum ist meine Methode in der Klasse nicht definiert? (Anfänger)

Ich habe gelesen this similair Frage, aber immer noch nicht verstehen, warum ich den Fehler empfange.

Neben dem Code innerhalb der Hauptmethode und der Polynommethode habe ich den Code in der Aufgabe nicht geändert.

Kann mir jemand erklären, was für ein dummer Fehler ich mache?

Quellcode:

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

Das ist ein Konstruktor, keine Methode. –

+6

'Polynom p = neues Polynom (c);' –

+0

Was haben Sie erwartet * das zu tun? Das ist ein Konstruktor, keine gewöhnliche Methode. 'main' ist statisch und das ist nicht. Außerdem speichern Sie das Ergebnis nicht in einer Variablen. Daher ist nicht klar, was das tun soll, selbst wenn es erfolgreich war. – EJoshuaS

Antwort

1

Polynomial(c) ist Konstruktor, so dass Sie es nicht ausführen kann, wie Sie versuchen. Sie müssen neue Instanz von Polynomial Klasse in main() Methode erstellen:

new Polynomial(c); 

Und es wird Werke sein, wie Sie es erwarten.

Verwandte Themen