myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   [java] Programm zur Berechnung des Abstandes von 2 Punkten (https://mygully.com/showthread.php?t=2034634)

free_4_all 28.04.10 11:30

[java] Programm zur Berechnung des Abstandes von 2 Punkten
 
Hallo,
Ich bin ein Neuling in Java, d.h das ich eigentlich nur die Grundkenntnisse weis, z.B. wie man kompiliert und ein Programm ausführt, was Klassen sind usw.

In der Uni habe ich jetzt die Aufgabe bekommen, ein Programm zu erstellen, welches den ABstand von 2 Punkten in einem kartesischen Koordinatensystem berechnet. Hier die Aufgabe:
Code:

Erstellen Sie ein Programm, welches die Entfernung zwischen zwei Punkten berechnet.

      1.

          Entwickeln Sie eine Klasse, welche einen Punkt mit seinen Koordinaten verwaltet. Die Klasse soll Methoden zur Ausgabe der x- und y-Werte enthalten.
      2.

          Erzeugen Sie eine Applikation in der zwei Punkte instanziert werden und der Abstand zwischen diesen berechnet wird. Die Abstandsberechnung soll mit Hilfe einer selbst geschriebenen Methode geschehen.
          Geben Sie die Koordinatenwerte der beiden Punkte und das Ergebnis der Abstandsberechnung auf dem Bildschirm aus.

Kann mir da vielleicht jemand von euch schnell den Quellcode schreiben und ihn posten?

Und bitte keine dummen Fragen warum ichs nicht selber mache, ich wollte das Programm ertsmal als Hilfe nehmen.

free_4_all 28.04.10 12:04

Für die Ausgabe reicht die Cmd Box.
Der Abstand soll genau ausgegeben werden, also mit pythagoras.

Viel mehr Angaben wurden uns auch nicht gegeben.
Ich stell mir das so vor das man das Programm über die Eingabeaufforderung startet, dann 4 Koordinaten eingeben muss und dann eine Ausgabe des Abstandes kommt.

free_4_all 28.04.10 12:19

Zitat:

Zitat von Akarin118 (Beitrag 20716282)
also wäre die Lösungsvariante 2 von oben die richtige oder?

äähm...warum 4 koordinaten eingeben??
es reichen doch 2....O.o

Punkt A(-7/-3)
Punkt B(10/10)

<-- waren doch 2 koordinaten....äähmm...wozu die anderen beiden?

Ja, die 2. Variante ist richtig.
Ja, ich meine 2 Koordinaten, aber man braucht 2 x-Werte und 2 y-Werte. :)

Danke erstmal das du so schnell antwortest:T

free_4_all 28.04.10 12:29

Ja genau so ist es richtig.
Eine Wurzel kann man ja durch den Befehl Math.sqrt ()berechnen...
Aber wenn dieser Befehl bei mir kompiliert wird kommt eine Fehlermeldung das der Befehl nicht gefunden wurde...

Wenn du einen Code schreiben könntest wäre das echt super

free_4_all 28.04.10 13:21

Ich benutze die Version 1.6.0_19

EDIT: Vielen Dank!
Echt cool das einem hier so schnell geholfen wird.

free_4_all 28.04.10 13:45

Nein brauchst du nicht machen, das schreib ich selbst noch, damit ich auch mal was mache.

urga 28.04.10 18:48

ich würd' das minimal abändern wollen nach:
Code:

import java.util.Scanner;

/**
 * @author Akarin118
 * @version 1.0
 * @category too many unnecessary class variables
 */

public class Koordinatensystem {
       
        public static void main(String[] args) {
               
                //Liest Eingaben ein
                Scanner sc = new Scanner(System.in);
                System.out.println("Bitte geben Sie die 1. X-Koordinate ein:");
                double x1 = sc.nextDouble();
                System.out.println("Bitte geben Sie die 1. Y-Koordinate ein:");
                double y1 = sc.nextDouble();
                System.out.println("Bitte geben Sie die 2. X-Koordinate ein:");
                double x2 = sc.nextDouble();
                System.out.println("Bitte geben Sie die 2. Y-Koordinate ein:");
                double y2 = sc.nextDouble();
                System.out.println("----------------------------------------");
                double result = calc(x1, y1, x2, y2);
                System.out.println("Abstand ist: "+ result);
                System.out.println("========================================");
        }

        //Rechnet das ganze aus
        public static double calc(double x1, double y1, double x2, double y2){
               
                double x = x1 - x2;
                double y = y1 - y2;
               
                //Eine Wurzel aus einer negativen Zahl zu ziehen könnte schwer sein ;)
                if (x < 0){
                        x = x2 - x1;
                }
                if (y < 0){
                        y = y2 - y1;
                }
               
                //Zieht die Wurzel
                return Math.sqrt((x * x) + (y * y));
        }
}

edit:

ich seh' gerade: "Entwickeln Sie eine Klasse, welche einen Punkt mit seinen Koordinaten verwaltet. Die Klasse soll Methoden zur Ausgabe der x- und y-Werte enthalten."
das ist in der lösung nicht enthalten, sollte aber trivial sein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:04 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.