Ich versuche, einen Rechner, der die quadratische Formel durchführt.Android - Vereinfachung von Radikalen
Derzeit, wenn mein Ergebnis eine Dezimalzahl wäre, wird NaN zurückgegeben. (BEARBEITEN: Gelöst)
Vorzugsweise möchte ich, dass das Ergebnis in einer vereinfachten Radikalform vorliegt (d. H. √ (99) = 3√ (11)).
Wie würde ich das erreichen?
Das ist was ich bisher habe.
// Do the math
private double mathCalcPlus(double varA,double varB,double varC) {
return ((-varB + Math.sqrt(varB * varB - 4 * varA * varC))/2 * varA);
}
private double mathCalcMinus(double varA,double varB,double varC) {
return ((-varB - Math.sqrt(varB * varB - 4 * varA * varC))/2 * varA);
}
Jede Hilfe wird sehr geschätzt.
√ (99) = 3√ (11) ist zuviel des Guten, weil Faktorisierung langsam und benötigen Sie einen zusätzlichen Code schreiben ohne Nutzen. – UmNyobe
Ich bevorzuge diesen Weg, da technisch die Dezimal-Antwort ungefähr wäre. Bei einer anderen Anmerkung, mein Code wird keine Dezimalzahl erzeugt wird einfach NaN für Ergebnisse, die keine ganzen Zahlen sind. Also ich denke, es wäre hilfreich für mich zumindest diesen Fehler auch in meinem Code zu beheben. – EliteTech
Ändern Sie dann Ihren Datentyp. –