# Ausgabe von Daten



## Java_Azubi (26. Jan 2014)

Guten Abend,
Könnte mir jemand erklären, warum die Ausgabe von
q1 9.0 q2 0.0 und q3 1.0 lautet? 
Vielen Dank im Voraus.


```
1. public class Aufgabe3 {
2.
3.   public static void main(String[] args) {
4.     Quadrat q1 = new Quadrat( 2.0 );
5.     Quadrat q2 = new Quadrat();
6.     q1.setSeite( 3.0 );
7.     System.out.println( "q1 hat die Flaeche "+ q1.getFlaeche() );
8.     System.out.println( "q2 hat die Flaeche "+ q2.getFlaeche() );
9.     double s = q1.getSeite() / 3.0;
10.    q2.setSeite( s );
11.    System.out.println( "q2 hat die Flaeche "+ q2.getFlaeche() );
12.  }
13.
14.}
15.
16. class Quadrat{
17.   private double seite = 0.0;
18.   private double flaeche = 0.0;
19. 
20. public Quadrat(){
21. }
22.
23. public Quadrat( double s ){
24.   setSeite( s );
25. }
26.
27. public void setSeite( double s ){
28.   if ( s >= 0.0 ){
29.     seite = s;
30.     flaeche = s * s;
31.   }
32. }
33.
34. public double getSeite(){
35.   return seite;
36. }
37.
38. public double getFlaeche(){
39.   return flaeche;
40.  }
41. }
```


----------



## wolfgang63 (26. Jan 2014)

q1 wird mit einer Seitenlänge von 2 erzeugt, dann aber vor der Ausgabe mit 3 überschrieben. 3*3=9
q2 wird ohne Seitenlänge erzeugt und hat somit 0+0=0
q3 gibt es nicht in deinem Programm


----------



## Java_Azubi (26. Jan 2014)

sorry ich meinte zwei q2
warum gibt es da zwei ergebnisse?


----------



## JavaMeister (26. Jan 2014)

Weil seite mit 0.0 initialisiert wird, und nicht anders gesetz wird?

Wenn du morgen eine Klausur darüber schreibst, dann würde ich mir einen Krankenschein holen. :applaus:


----------



## Java_Azubi (26. Jan 2014)

danke für die konstruktive Kritik. Nein, ich schreibe sie nicht morgen, sondern Samstag


----------



## wolfgang63 (27. Jan 2014)

q2 2 wird in Zeile 10 mit s=1 überschrieben. 1*1=1


----------

