Java-Aufgabe

Nadzieja

Neues Mitglied
Hallo,

ich muss am Dienstag einige Java-Aufgaben abgeben.
Es ist 1 a - d. A - C habe ich gemacht. Aber mit D hapert es :-(

Hier die Aufgabe 1d:

Lies zwei Koordinaten im zweidimensionalen reellen Raum und gebe ihren Abstand zueinander aus. Die Einheit ist beliebig.


Wir arbeiten an der Uni mit Eclipse. Die Aufgabe lässt sich so verstehen, dass jemand die vier Koordinaten in die Console eingibt und Java mit einer Formel diese ausrechnet.
Die Formel soll folgend lauten: (x1-x2)² + (y1-y2)² (aus allem soll noch eine Wurzel gezogen werden, aber ich weiß nicht, wie ich diese darstellen soll)

Mein kläglicher Versuch ist unten. Ich bekomme es nicht hin. Weder, dass Java die Formel ausrechnet, noch, dass Java alles so darstellt, wie es in der Formel verlangt wird.....

Hat vielleicht noch jemand eine Idee und kann mir weiterhelfen? Ich bin mit meinen Latein am Ende ;(


Java:
package testling;

import java.util.Scanner ; 
public class TEST { 
public static void main (String [] args) { 
Scanner scanner = new Scanner (System.in); 
int zahl1; 
int zahl2; 
int zahl3;
int zahl4;
int ergebnis; 
System.out.println("Bitte geben Sie die erste Zahl ein: " ) ; 
zahl1 = scanner.nextInt(); // Einlesen einer ganzen Zahl 
System.out.println("Bitte geben Sie die zweite Zahl ein: " ) ; 
zahl2 = scanner.nextInt(); // Einlesen einer ganzen Zahl 
System.out.println("Bitte geben Sie die dritte Zahl ein: " ) ; 
zahl3 = scanner.nextInt(); // Einlesen einer ganzen Zahl 
System.out.println ("Bitte geben Sie die vierte Zahl ein : " ) ; 
zahl4 = scanner.nextInt(); // Einlesen einer ganzen Zahl 
ergebnis = Math.sqrt((zahl1 - zahl2) * (zahl1 - zahl2) + (zahl3 - zahl4) * (zahl3 - zahl4)); 
System.out.println("Die Summe der beiden Zahlen ist: ") ; 
System.out.println(ergebnis) ; 
scanner . close ( ) ; 
} 
}
 
Zuletzt bearbeitet:

XHelp

Top Contributor
Für den Code solltest du die JAVA-Tags benutzen. Steht sogar in Rot über dem Text-Feld.

Wo genau ist jetzt dein Problem? Fehlermeldung? Falsche Berechnung? etc...

P.S. Bei einer Wurzen kriegst du eine double zahl raus, was auch durch aus einen Sinn ergibt. Also ist auch dein Ergebnis double und nicht int.
 

slawaweis

Bekanntes Mitglied
Mein kläglicher Versuch ist unten. Ich bekomme es nicht hin. Weder, dass Java die Formel ausrechnet, noch, dass Java alles so darstellt, wie es in der Formel verlangt wird.....
dein Problem ist, dass Du es alles falsch benennst. Du solltest x und y als Variablennamen verwenden, denn dann würdest Du auch merken, dass bei Dir folgendes in der Formel steht: (x1 - y1) * (x1 - y1) + (x2 - y2) * (x2 - y2), falls der Anwender überhaupt weis, was zahl1 bis zahl4 bedeutet. Weiterhin wird reeller Raum verlangt, d.h. Du musst entweder float oder double verwenden. Du solltest es so ändern:

Java:
System.out.println("Bitte geben Sie X der ersten Koordinate ein: " ) ; 
x1 = scanner.nextFloat();
System.out.println("Bitte geben Sie Y der ersten Koordinate ein: " ) ; 
y1 = scanner.nextFloat();
System.out.println("Bitte geben Sie X der zweiten Koordinate ein: " ) ; 
x2 = scanner.nextFloat();
System.out.println("Bitte geben Sie Y der zweiten Koordinate ein: " ) ; 
y2 = scanner.nextFloat();

alles was noch bleibt, ist x und y richtig in die Formel einzusetzen. Das ist übrigens der berühmte Satz des Pythagoras, den man im Schlaf können muss.

Satz des Pythagoras ? Wikipedia

Slawa
 

Oben