dimanche 7 juin 2015

Fehler bei Java Übung für Interfaces

Hallo,

ich bin neu hier und entschuldigt, wenn ich nicht genügend angaben mache oder ähnliches. Ich probiere es so klar, wie mir selbst möglich zu beschreiben :oops:

Wir haben derzeit eine Java-Übung für Interfaces. Soweit habe ich das Programm durch, dennoch bekomme ich immer einen "java.lang.AssertionError:-Fehler" für meine Funktion "iroot[int]". Angeblich sei der Rückgabewert nicht korrekt. Da ich eigentlich ein absoluter leihe bin und den Fehler selbst nicht finde, bitte ich hiermit um Hilfe ???:L

Aufgabe:

Neben den beiden ¨offentlichen Getter-Methoden double getX() und double getY(), wobei dieMethode getX() den Inhalt des Attributs real und die Methode getY() den Inhalt des Attributsimag zuruckgeben soll, sind außerdem die folgend aufgelisteten Methoden umzusetzten: ¨

• Methode public double getAbs(), Diese Methode berechnet den Betragpr der komplexen Zahl z = x + yi mit r = |z| =x2 + y2 und gibt diesen zurück.

• Methode public double getPhi().Diese Methode berechnet den Winkel φ der komplexen Zahl z = x + yi und gibt diesenzuruck. Nutzen Sie zur Berechnung des Winkels die Funktion ¨ java.lang.Math.atan2()

• Methode public Complex[] iroot(int n), 6P.Diese Methode soll eine Array vom Typ Complex zuruckgeben und die ¨ n-te komplexeWurzel berechnen. Im Fehlerfall soll null zuruck gegeben werden. ¨

Die n-te Wurzel einer komplexen Zahl a liefert k komplexe Zahlen (z1, . . . , zk), die sich wiefolgt berechnen:zk =pn|a| · e(i·ϕ+2kπn)(k = 0, 1, . . . , n − 1)

Testen Sie die Methode iroot(), indem Sie in Ihrer main()-Methode verschiedene komplexeZahlen erzeugen und sich von diesen die komplexe Wurzel grafisch anzeigen lassen.


package mathpaint;
import math.graph.XYPunkt;

public class Complex implements XYPunkt {
private double real, imag, Phi, Abs;

public double getX() {
return real;
}

public double getY() {
return imag;
}

public Complex (double real, double imag) {
this.real = real;
this.imag = imag;
}

public double getAbs() {
return Abs = Math.sqrt(Math.pow(this.real,2.) + Math.pow(this.imag,2.));
}

public double getPhi() {
return Phi = Math.atan2(this.real, this.imag);
}

public void iroot(int n) {
Complex wurzel[] = new Complex[n];

for (int i = 0; i < n; i++) {
double Betrag = Math.pow(getAbs(), 1./n);
double Winkel = getPhi();

wurzel[i] = new Complex( Betrag * Math.cos( (Winkel + ( 2 * Math.PI * i ) ) / n), Betrag * Math.sin( (Winkel + ( 2 * Math.PI * i ) ) / n));
}
}

public void setPhi(double phi) {
Phi = phi; }


Weiterhin bekomme ich die Fehlermeldung für:-The value of the field Complex.Abs is not used -The value of the field Complex.Phi is not used

Ist doch aber?!

Ich bedanke mich recht herzlich für eure Mühe.

MfG


Fehler bei Java Übung für Interfaces

0 commentaires:

Enregistrer un commentaire