Hallo zusammen,
ich hab ein kleines Problem mit einer Schleife, die nicht abbricht wie es geplant ist. Die Aufgabe an sich habe ich hingekriegt nun fehlt eben dieser letzte kleine Teil, und ich komme irgendwie nicht ganz darauf wo denn mein Fehler hier liegt. Die Aufgabe ist es ein Programm zu schreiben, dass in einer Schleife nach Koordinaten von 2 Eckpunkten fragt und mit diesen dann die höhe, breite und die Fläche des entstehenden Rechtecks berechnet wird. Die Eckpunkte liegen sich diagonal gegenüber. Das Programm soll dann beendet werden, wenn Eckpunkte eingegeben werden die kein Rechteck bilden können , weil die Höhe und/oder die Breite gleich 0 ist. Das funktioniert irgendwie nicht wie gewollt, aber wenn Höhe und Breite 0 sind bricht es ab, nur nicht wenn nur eines von beiden 0 ist. Brauche ich eine while-Schleife, statt einer do-while Schleife?
Vielen Dank im Vorraus
ich hab ein kleines Problem mit einer Schleife, die nicht abbricht wie es geplant ist. Die Aufgabe an sich habe ich hingekriegt nun fehlt eben dieser letzte kleine Teil, und ich komme irgendwie nicht ganz darauf wo denn mein Fehler hier liegt. Die Aufgabe ist es ein Programm zu schreiben, dass in einer Schleife nach Koordinaten von 2 Eckpunkten fragt und mit diesen dann die höhe, breite und die Fläche des entstehenden Rechtecks berechnet wird. Die Eckpunkte liegen sich diagonal gegenüber. Das Programm soll dann beendet werden, wenn Eckpunkte eingegeben werden die kein Rechteck bilden können , weil die Höhe und/oder die Breite gleich 0 ist. Das funktioniert irgendwie nicht wie gewollt, aber wenn Höhe und Breite 0 sind bricht es ab, nur nicht wenn nur eines von beiden 0 ist. Brauche ich eine while-Schleife, statt einer do-while Schleife?
Java:
public static void aufgabe() {
Scanner sc= new Scanner(System.in);
int xA;
int yA;
int xB;
int yB;
do {
System.out.print("Erster Eckpunkt X-Koordinate: ");
xA= sc.nextInt();
System.out.print("Erster Eckpunkt Y-Koordinate: ");
yA= sc.nextInt();
System.out.print("Zweiter Eckpunkt X-Koordinate: ");
xB= sc.nextInt();
System.out.print("Zweiter Eckpunkt Y-Koordinate: ");
yB= sc.nextInt();
int b= xB-xA;//Breite
int h=yB-yA; //Höhe
int f= h*b; //Fläche
System.out.println("Breite: "+b +", Höhe: "+h+ ", Fläche "+f);
}while((yB-yA)!=0 || (xB-xA)!=0);
System.out.println("Ade.");
}
Vielen Dank im Vorraus