Zeichnen Sie ein Haus mit Schornstein. Achten Sie darauf, dass der Schornstein keinen der folgenden Fehler aufweist:

Lösung
Zur Lösung dieser Aufgabe wird die Datei unibwm.jar benötigt. Sie kann in der Eclipse Umgebung in den Projektoptionen unter “add external jar” hinzugefügt werden.
import java.util.Scanner; // Scanner für die Eingabe von Werten
import unibwm.*; // Grafik für die Ausgabe des Hauses
public class Aufgabe7
{
public static void main(String[] args)
{
// Variablen Deklaration
double dBreite, dHoehe, dSchornsteinHoehe;
Scanner scnEingabe = new Scanner(System.in);
Grafik gfkZeichnung = new Grafik();
// Variablen Initialisierung
System.out.print("Breite des Hauses: ");
dBreite = scnEingabe.nextDouble();
System.out.print("Höhe des Hauses: ");
dHoehe = scnEingabe.nextDouble();
System.out.print("Höhe des Schornsteins: ");
dSchornsteinHoehe = scnEingabe.nextDouble();
//Haus zeichnen
gfkZeichnung.addLine(0., 0., dBreite, 0.);
gfkZeichnung.addLine(0., 0., 0., dHoehe);
gfkZeichnung.addLine(0., dHoehe, dBreite, dHoehe);
gfkZeichnung.addLine(dBreite, 0., dBreite, dHoehe);
//Dach
gfkZeichnung.addLine(0., dHoehe, dBreite/2., 2*dHoehe);
gfkZeichnung.addLine(dBreite, dHoehe, dBreite/2., 2*dHoehe);
//dSchornsteinHoehe im 3.-Punkt (b=1m)
double dSteigung = 2. * dHoehe / dBreite;
double x1 = dBreite / 3.-dBreite / 16.;
double x2 = dBreite / 3.+dBreite / 16.;
double y1 = dHoehe+dSteigung * x1;
double y2 = dHoehe+dSteigung * x2;
System.out.println("x1: "+x1+" x2: "+x2);
System.out.println("y1: "+y1+" y2: "+y2);
System.out.println
("Steigung: "+dHoehe+" / "+dBreite+" = "+dSteigung);
gfkZeichnung.addLine(x1, y1, x1, y2+dSchornsteinHoehe);
gfkZeichnung.addLine(x2, y2, x2, y2+dSchornsteinHoehe);
gfkZeichnung.addLine
(x1, y2+dSchornsteinHoehe, x2, y2+dSchornsteinHoehe);
//Zeichnung anzeigen
gfkZeichnung.show("Ausgabe zur Aufgabe 7");
} // end main
} // end class


