Guten Tag,
Ich muss ein Programm schreiben, das bestimmt ob ein Dreieck rechtwinklig ist, indem es 3 double Werte bekommt und ein boolean Wert ausgibt und zudem noch eine double Zahl einliest und diese auf eine bestimmte Nachkommastelle rundet die man als einen Integer Wert festlegen kann.
Dabei stellen sich mir aktuell die Probleme, dass mein Programm anscheinend die Werte beim Satz des Pythagoras nicht korrekt rundet, so sagt es mir zum Beispiel das 7^2+2^2 != 7.28^2 sei, obwohl dies ein rechtwinkliges Dreieck sein müsste.
Und zum anderen soll das Programm in der zweiten Methode falls der eingegebene Integer Wert kleiner als 0 oder größer als 10 ist den double Wert unverändert wieder ausgeben
Mein Code sieht bislang so aus:
Ich muss ein Programm schreiben, das bestimmt ob ein Dreieck rechtwinklig ist, indem es 3 double Werte bekommt und ein boolean Wert ausgibt und zudem noch eine double Zahl einliest und diese auf eine bestimmte Nachkommastelle rundet die man als einen Integer Wert festlegen kann.
Dabei stellen sich mir aktuell die Probleme, dass mein Programm anscheinend die Werte beim Satz des Pythagoras nicht korrekt rundet, so sagt es mir zum Beispiel das 7^2+2^2 != 7.28^2 sei, obwohl dies ein rechtwinkliges Dreieck sein müsste.
Und zum anderen soll das Programm in der zweiten Methode falls der eingegebene Integer Wert kleiner als 0 oder größer als 10 ist den double Wert unverändert wieder ausgeben
Mein Code sieht bislang so aus:
Java:
import java.util.Scanner;
public class Functionality {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
double kathete1;
double kathete2;
double hypothenuse;
System.out.println("Bitte geben Sie die Länge der ersten Kathete ein");
kathete1= s.nextDouble();
System.out.println("Bitte geben Sie die Länge der zweiten Kathete ein");
kathete2 = s.nextDouble();
System.out.println("Bitte geben Sie die Länge der Hypothenuse ein");
hypothenuse = s.nextDouble();
boolean result = istRechtwinkligesDreieck (kathete1, kathete2,hypothenuse);
s.close();
}
public static boolean istRechtwinkligesDreieck (double kathete1, double kathete2, double hypothenuse) {
double result = kathete1 * kathete1 + kathete2 * kathete2;
int i;
i = (int) result;
if(i == hypothenuse * hypothenuse) {
System.out.println("Das Dreieck ist rechtwinklig");
return true;
}
else {
System.out.println("Das Dreieck ist nicht rechtwinklig");
return false;
}
}
public static double abschneiden () {
Scanner scan = new Scanner(System.in);
System.out.println("Bitte geben Sie eine Dezimalzahl ein");
double value = scan.nextDouble();
System.out.println("Bitte geben Sie die gewünschte Nachkommastelle ein");
int kommastelle = scan.nextInt();
scan.close();
double result = Math.round(Math.pow(10, kommastelle) * value / Math.pow(10, kommastelle));
System.out.println();
}
}
Zuletzt bearbeitet von einem Moderator: