Hallo.
Hier wieder eine Frage von mir :lol:
Es ging um folgende Aufgabe:
"Schreiben Sie eine Klasse Point2D, die einen zwei-dimensionalen Punkt repräsentiert.
Schreiben Sie danach eine main-Methode, die vom Benutzer mehrerer Punkte verlangt.
Diese Punkte sollen in einem Vector gespeichert werden. Der Benutzer soll die Eingabe
der Punkte durch eine Abbruchbedingung beenden können. Das Programm soll anschließend
die Länge der Strecke, die durch die eingegebenen Punkte definiert ist, auswerten
und ausgeben."
Der Code ist noch nicht fertig, meine Frage bezieht sich aber eigentlich nur auf einen Teil des Codes:
Wenn ich wie in Zeile 74-82 Point2D-Objekte aus der Kollektionsklasse rausholen und zuweisen will, damit ich sie nachher den selbstdefinierten Methoden unterwerfen kann: wie mache ich das? So gehts auf jeden Fall nicht, "incompatible Types".
Nachtrag: Jetzt funktionierts.
Danke :applaus:
Hier wieder eine Frage von mir :lol:
Es ging um folgende Aufgabe:
"Schreiben Sie eine Klasse Point2D, die einen zwei-dimensionalen Punkt repräsentiert.
Schreiben Sie danach eine main-Methode, die vom Benutzer mehrerer Punkte verlangt.
Diese Punkte sollen in einem Vector gespeichert werden. Der Benutzer soll die Eingabe
der Punkte durch eine Abbruchbedingung beenden können. Das Programm soll anschließend
die Länge der Strecke, die durch die eingegebenen Punkte definiert ist, auswerten
und ausgeben."
Der Code ist noch nicht fertig, meine Frage bezieht sich aber eigentlich nur auf einen Teil des Codes:
Wenn ich wie in Zeile 74-82 Point2D-Objekte aus der Kollektionsklasse rausholen und zuweisen will, damit ich sie nachher den selbstdefinierten Methoden unterwerfen kann: wie mache ich das? So gehts auf jeden Fall nicht, "incompatible Types".
Nachtrag: Jetzt funktionierts.
Code:
import java.io.*;
import java.util.*;
class Point2D {
private double x;
private double y;
public List l;
public Point2D() {
this.l = new Vector();
}
public Point2D(double x, double y) {
this.x = x;
this.y = y;
}
public Point2D readpoint() throws IOException {
System.out.println("Bitte geben sie einen Punkt (x,y) ein");
System.out.println("");
System.out.flush();
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String s = br.readLine();
String s1 = s.substring(0,1);
Double dx = Double.valueOf(s1);
double x = dx.doubleValue();
String s2 = s.substring(2,3);
Double dy = Double.valueOf(s2);
double y = dy.doubleValue();
Point2D point = new Point2D(x,y);
l.add(point);
return point;
}
public Point2D vdif(Point2D p) {
double x = Math.abs(this.x - p.x);
double y = Math.abs(this.y - p.y);
Point2D dif = new Point2D(x,y);
return dif;
}
public double vlength() {
double vl = Math.sqrt(((this.x)*(this.x))+((this.y)*(this.y)));
return vl;
}
}
class anwendung {
public static void main(String args[]) throws IOException {
Point2D a = new Point2D();
String e = ("ENDE");
Point2D m = null;
Point2D k = null;
boolean weiter = true;
while (weiter) {
a.readpoint();
System.out.println("Sobald Sie fertig sind, geben Sie bitte 'ENDE' ein. Ansonsten drücken Sie Enter.");
System.out.flush();
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String s = br.readLine();
if (s.equals(e)) {
weiter = false;
}
}
Iterator it = (a.l).iterator();
double gesst = 0;
double st = 0;
Point2D d = null;
int count = 0;
while (it.hasNext()) {
if (count == 0) {
m = (Point2D) it.next();
}
if (it.hasNext()) {
k = (Point2D) it.next();
d = m.vdif(k);
st = d.vlength();
gesst = gesst + st;
m = k;
}
count++;
}
System.out.println(gesst);
}
}
Danke :applaus: