Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
28.04.10, 11:30
|
#1
|
Newbie
Registriert seit: Feb 2010
Beiträge: 18
Bedankt: 1.512
|
[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.
|
|
|
28.04.10, 12:04
|
#2
|
Newbie
Registriert seit: Feb 2010
Beiträge: 18
Bedankt: 1.512
|
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.
|
|
|
28.04.10, 12:19
|
#3
|
Newbie
Registriert seit: Feb 2010
Beiträge: 18
Bedankt: 1.512
|
Zitat:
Zitat von Akarin118
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
|
|
|
28.04.10, 12:29
|
#4
|
Newbie
Registriert seit: Feb 2010
Beiträge: 18
Bedankt: 1.512
|
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
|
|
|
28.04.10, 13:21
|
#5
|
Newbie
Registriert seit: Feb 2010
Beiträge: 18
Bedankt: 1.512
|
Ich benutze die Version 1.6.0_19
EDIT: Vielen Dank!
Echt cool das einem hier so schnell geholfen wird.
|
|
|
28.04.10, 13:45
|
#6
|
Newbie
Registriert seit: Feb 2010
Beiträge: 18
Bedankt: 1.512
|
Nein brauchst du nicht machen, das schreib ich selbst noch, damit ich auch mal was mache.
|
|
|
28.04.10, 18:48
|
#7
|
Mitglied
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
|
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.
__________________
entropie erfordert keine wartung
|
|
|
Forumregeln
|
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:20 Uhr.
().
|