Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Praktische Informatik (http://www.informatikerboard.de/board/board.php?boardid=6)
--- Raute (http://www.informatikerboard.de/board/thread.php?threadid=2108)
Geschrieben von neuling96 am 24.01.2015 um 19:16:
Raute
| code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
|
public class Raute {
private Punkt m;
private double horizontalenDiagonaleX;
private double vertikalenDiagonaleY;
public class Raute{Punkt m, double x , double y ) {
this.m=m;
this.horizontalenDiagonaleX=x;
this.vertikalenDiagonaleY=y;
}
public void verschiebeX( double betrag){
this.m.verschiebeX(double betrag);
}
public void verschiebeY( double betrag){
this.m.verschiebeY(double betrag);;
}
public Punkt getP1(){
double P1.x= m.getX()-this.horizontalenDiagonaleX/2;
Punkt P1= new Punkt(P1.x, m.getY())
return P1;
}
...
|
|
ist das bis hierher richtig??
Geschrieben von eulerscheZahl am 24.01.2015 um 19:25:
| Zitat: |
public void verschiebeX( double betrag){
this.m.verschiebeX(double betrag);
} |
der Punkt weiß selbst, welche Argumente verschiebeX erwartet, du musst ihm den Datentyp nicht mehr mitteilen
das ist kein gültiger Variablenname. Wenn du x in einer Variable zwischenspeichern willst, dann ohne den Punkt: p1_x.
Geschrieben von neuling96 am 24.01.2015 um 19:28:
| code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
|
public class Raute {
private Punkt m;
private double horizontalenDiagonaleX;
private double vertikalenDiagonaleY;
public class Raute{Punkt m, double x , double y ) {
this.m=m;
this.horizontalenDiagonaleX=x;
this.vertikalenDiagonaleY=y;
}
public void verschiebeX( double betrag){
this.m.verschiebeX(betrag);
}
public void verschiebeY( double betrag){
this.m.verschiebeYbetrag);;
}
public Punkt getP1(){
double P1= m.getX()-this.horizontalenDiagonaleX/2;
Punkt P1= new Punkt(P1.x, m.getY())
return P1;
|
|
Geschrieben von eulerscheZahl am 24.01.2015 um 19:30:
Jetzt heißt die double-Variable ja genau wie der Punkt
Geschrieben von ed209 am 24.01.2015 um 19:31:
Die beste Möglichkeit herauszufinden ob deine Lösung funktioniert ist es sie zu testen (es sei denn Du programmierst die Steuerung für ein Flugzeug, wär blöd wenn Du es erst in der Luft testest und dann alles abstürzt

)
Du kannst ein kleines Programm schreiben, daß ein Raute-Objekt erzeugt, verschiebt und dann die Koordinaten der Punkte ausgibt.
Prüfe vorher per Hand was das Ergebnis sein soll und vergleiche die Ausgabe des Programms mit dem was du per Hand errechnet hast.
| code: |
1:
2:
3:
|
public class Raute{Punkt m, double x , double y ) {
|
|
Hier sehe ich zwei Fehler die u eigentlich beim Compilieren schon finden solltest.
Gruß,
ED209
Geschrieben von neuling96 am 24.01.2015 um 19:33:
oh man
bin gleich zurück
Geschrieben von neuling96 am 24.01.2015 um 19:39:
| code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
|
public class Raute {
private Punkt m;
private double horizontalenDiagonaleX;
private double vertikalenDiagonaleY;
public Raute(Punkt m, double x , double y ) {
this.m=m;
this.horizontalenDiagonaleX=x;
this.vertikalenDiagonaleY=y;
}
public void verschiebeX( double betrag){
this.m.verschiebeX(betrag);
}
public void verschiebeY( double betrag){
this.m.verschiebeY(betrag);
}
public Punkt getP1(){
double p1x= m.getX()-this.horizontalenDiagonaleX/2;
Punkt PunktP1= new Punkt(p1x, m.getY());
return P1;
}
..
}
|
|
ich hoffe das passt
Geschrieben von eulerscheZahl am 24.01.2015 um 19:47:
Höre auf ed und nutze den Compiler - der antwortet auch schneller, als wir hier im Forum.
| code: |
1:
2:
|
Punkt PunktP1= new Punkt(p1x, m.getY());
return P1; |
|
Was ist denn jetzt P1? Oben hieß es noch PunktP1
Geschrieben von neuling96 am 24.01.2015 um 20:25:
| Zitat: |
Original von ed209
Hab deinen Code hier eingegeben und es spuckt mir 7 Fehler aus:
|
hmm ich dachte wenn ich
public Punkt getP1(){
double p1x= m.getX()-this.horizontalenDiagonaleX/2;
Punkt PunktP1= new Punkt(p1x, m.getY());
return PunktP1;
}
sollte das passen????
Geschrieben von ed209 am 24.01.2015 um 20:37:
Bitte erwarte nicht, dass wir deinen Code jetzt Stück für Stück manuell gegenlesen.
Wenn Du eine bestimmte Fehlermeldung nicht verstehst, dann wird sich sicher jemand finden, der dir erklärt was das Problem ist, aber hier geht es darum daß Du die Methode lernst und die besteht darin ein Programm zu kompilieren und die Antwort des Compilers zu verstehen.
Geschrieben von eulerscheZahl am 24.01.2015 um 20:54:
Jetzt funktioniert es zumindest. ed hatte vermutlich nicht die Klasse Punkt abgetippt, daher die Fehler.
Und das ist die Kompaktversion:
| code: |
1:
2:
3:
|
public Punkt getP1() {
return new Punkt(m.getX() - this.horizontalenDiagonaleX / 2, m.getY());
} |
|
Forensoftware: Burning Board, entwickelt von WoltLab GmbH