Addieren von Polynomen Java

Diskutiere Addieren von Polynomen Java im Java Basics - Anfänger-Themen Bereich.
M

Mika34

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

mihe7

Bitte Code-Tags verwenden (die drei Punkte neben dem Smiley im Editor anklicken -> Code -> Java auswählen und Code inkl. Einrückungen einfügen)
 
mihe7

mihe7

Hier sind alle per Du. Das ist der Code zum Erzeugen einer Instanz vom Typ Polymonial. Der Konstruktor ist ok.
 
M

Mika34

Hier sind alle per Du. Das ist der Code zum Erzeugen einer Instanz vom Typ Polymonial. Der Konstruktor ist ok.
Oh, das wusste ich nicht. Aber Java gibt mir aus, dass der Konstruktor Polynomial undefiniert ist. Also stimmt was an meiner Methode nicht oder doch etwas nicht an meinem Konstruktor?
 
mihe7

mihe7

Naja, Dein Konstruktor ist package private und damit außerhalb des Pakets nicht verwendbar. Dazu müsstest Du ein public davorsetzen.
 
A

abc66

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.
 
mihe7

mihe7

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.
 
M

Mika34

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.
 
Thema: 

Addieren von Polynomen Java

Passende Stellenanzeigen aus deiner Region:
Anzeige

Anzeige

Anzeige
Oben