Wenn ich meine Höhe und Basis eines Dreiecks einstelle, bekomme ich NaN. Zum Beispiel habe ich in dem unten stehenden Code "hi" als Höhe, b als "Basis" und h als "Hypotenuse", wenn ich 1 für die Basis und 1 für die Höhe gebe, bekomme ich NaN für die Hypotenuse. Wie ich es habe ist, dass wenn eine der Seiten unbekannt ist, dann wird der Benutzer es als 0 setzen, aber es funktioniert aus irgendeinem Grund nicht. Ich habe mich gefragt, ob es einen Fehler in meinem Code gibt?Versuch, einen Satz des Pythagoras zu machen, aber es funktioniert nicht wie geplant
Hinweis: c wie in c.nextDouble() zu sehen ist der Name des Scanners.
double h = 0, b = 0, hi = 0;
System.out.println("Please enter in the sides as asked, if the unknown side is asked, then enter it as 0");
System.out.println("Enter the height of the triangle:");
hi = c.nextDouble();
System.out.println("Enter the base of the triangle: ");
b = c.nextDouble();
System.out.println("Enter the hypotenuse of the triangle: ");
h = c.nextDouble();
if (h != 0) {
h = Math.sqrt((b * b) + (hi * hi));
System.out.println("The hypotenuse side is:" + h);
} else if (hi != 0) {
hi = Math.sqrt((h * h) - (b * b));
System.out.println("The height is: " + hi);
} else if (b != 0) {
b = Math.sqrt((h * h) - (hi * hi));
System.out.println("The height is: " + b);
}
Marke als Antwort bitte –
Nextline() ist die einzige Funktion, die akzeptiert und behandelt die Endlinie –