Addieren von Polynomen Java

Hallo an alle,
Höchstwahrscheinlich ist diese Frage hier zu belächeln, jedoch stoße ich seit mehreren Stunden gegen eine Wand.
Die Aufgabenstellung lautet wie folgt:
In einem Array Array bestimmt der Wert an Stelle i des Array den i-ten Koeffizienten. Der zugehörige Exponent entspricht der
Position des Koeffizienten im Array und muss daher nicht explizit gespeichert werden. Zum Beispiel
entspricht das Polynom 1 + 4x + 2x^3 dem Array [1, 4, 0, 2]. Setzen Sie diese Darstellung für Polynome in der Klasse Polynom Polynomial Polynomial um. Als Annäherung für R können Sie den Datentyp double verwenden"
Nun soll ich eine Methode implementieren, die wie folgt lautet: "public Polynomial getDerivative(): Gibt die Ableitung p'
zu dem aktuellen Polynom p zurückgibt.
Mein Problem ist, dass ich es nicht schaffe ein Objektinstanz zu erstellen ,welche durch den Konstruktor erstellt wird. Auch schaffe ich es nicht einen ordentlichen return der Methode zu setzen. Ich wäre sehr glücklich über eine Hilfe.

Mein Code lautet bis jetzt:
Java:
public class Polynomial {
    
    double p[];
    
    
    Polynomial(int[] h) {
        if (h == null) {
            p = new double[0];
        } else {
            p = new double[h.length];
            for (int i = 0; i<h.length; i++) {
                p[i] = h[i];
            }
        }
    }
                public  Polynomial getDerivative() {
            if(p.length>1) {
            double [] r=new double[p.length-1];//Da Länge der Ableitung immer um eins kleiner ist als die zu ableitende Funktion   
            for(int i=0; i<p.length;i++) {
                r[i]=p[i]*i;
                return r;
            }
            
                }
            else { //Wenn es ein Polynom vom Grad 1 ist
                Polynomial r =new Polynomial([0]);//Da die Länge von einem Polynom vom Grad 1 immer die Länge 1 hat bzw. 0 in der Informatik
            }
return Null;
                }
 
Bitte Code-Tags verwenden (die drei Punkte neben dem Smiley im Editor anklicken -> Code -> Java auswählen und Code inkl. Einrückungen einfügen)
 
Hier sind alle per Du. Das ist der Code zum Erzeugen einer Instanz vom Typ Polymonial. Der Konstruktor ist ok.
 
Naja, Dein Konstruktor ist package private und damit außerhalb des Pakets nicht verwendbar. Dazu müsstest Du ein public davorsetzen.
 
Mein Problem ist, dass ich es nicht schaffe ein Objektinstanz zu erstellen ,welche durch den Konstruktor erstellt wird. Auch schaffe ich es nicht einen ordentlichen return der Methode zu setzen. Ich wäre sehr glücklich über eine Hilfe
Man sollte im Konstruktor nicht eine neue Instanz derselben Klasse erstellen...
Nimm mal den else-Teil und das nachfolgende return raus.
 
Nein, [0] ist kein gültiger Ausdruck. Wenn Du ein Array der Länge n haben willst, musst Du ein solches erzeugen: new double[n] - wie oben in Deinem Konstruktor.
 
Nein, [0] ist kein gültiger Ausdruck. Wenn Du ein Array der Länge n haben willst, musst Du ein solches erzeugen: new double[n] - wie oben in Deinem Konstruktor.
Java:
         public  Polynomial getDerivative() {
     if(p.length>1) {
     double [] r=new double[p.length-1];//Da Länge der Ableitung immer um eins kleiner ist als die zu ableitende Funktion   
     for(int i=0; i<p.length;i++) {
         r[i]=p[i]*i;
     }
    
         }
     else {
         r =new double[0];
     }
return r;
         }
Ich glaube nun stelle ich mich komplett doof an. Nun steht das r keiner Variable zugeordnet werden kann. Das steht im return als auch in der Methode selbst. Obwohl ich diese doch eigentlich damit erstellt habe.
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben