Ich bin ein neuer Java-Programmierer und ich versuche, ein Programm zu schreiben, das die Wurzeln einer quadratischen Gleichung findet, indem Sie die roots() -Methode in dieser Klasse implementieren.Implementierung von Methoden mit Parametern in Java
Ich glaube, ich habe herausgefunden, wie die Gleichung zu implementieren, aber die return-Anweisung sagt: Error-Typenkonflikt: kann nicht von Doppel konvertiert Set
Wie würde ich diesen Fehler beheben?
Vielen Dank!
package warmup;
import java.util.Set;
public class Quadratic {
/**
* Find the integer roots of a quadratic equation, ax^2 + bx + c = 0.
* @param a coefficient of x^2
* @param b coefficient of x
* @param c constant term. Requires that a, b, and c are not ALL zero.
* @return all integers x such that ax^2 + bx + c = 0.
*/
public static Set<Integer> roots(int a, int b, int c) {
//my code so far
double q = -b + (Math.sqrt(Math.pow(b, 2)-4*a*c)/2*a);
return q;
}
/**
* Main function of program.
* @param args command-line arguments
*/
public static void main(String[] args) {
System.out.println("For the equation x^2 - 4x + 3 = 0, the possible solutions are:");
Set<Integer> result = roots(1, -4, 3);
System.out.println(result);
}
}
Der Fehler ist selbsterklärend: Sie erklären, dass die Methode ' zurückgibt' in der Signatur des Verfahrens, aber Sie kehren ein ' doppeltes ". –
alfasin
Es ist erforderlich, Set zu verwenden? – Thrasher
Ich nehme an, Sie haben den Teil weggelassen, in dem Sie auch '-b - ...' berechnen und beide Werte gleichzeitig ausgeben. Das sollte wirklich ein 'Set' sein. –
Grexis