Java Reference
In-Depth Information
Ist die angegebene Notenanzahl erreicht, wird bisher folgende Anweisungsfolge abgear-
beitet:
if (i == notenzahl) {
notenschnitt = summe / notenzahl;
jBtnNoteUebernehmen.setVisible(false);
jBtnNeu.setVisible(true);
}else{...
Ergänzen Sie die drei Anweisungen um die Zeile
jLNoten.setText("Noten:"+noten[0]+","+noten[1]+","+noten[2]);
Damit werden die ersten drei Elemente des Arrays im Label ausgegeben. Diese Anwei-
sung passt natürlich nur, wenn genau drei Noten eingegeben werden. Werden mehr
Noten eingegeben, dann fehlen bei der Ausgabe einige Noten. Welche Ausgabe ergibt
sich aber, wenn nur zwei oder weniger Noten eingegeben werden? Ein Test zeigt, dass
keine Noten ausgegeben werden. Wird das Programm aus der Entwicklungsumgebung
heraus gestartet, zeigt ein Blick in die Ansicht Console, dass stattdessen eine Fehler-
meldung ausgegeben wird:
11
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 2
Beim Versuch mit a[2] auf ein drittes Array-Element zuzugreifen, tritt eine Exception
vom Typ ArrayIndexOutOfBounds auf.
Wie können Sie die Ausgabe so gestalten, dass immer genau so viele Array-Elemente
ausgegeben werden, wie das Array Elemente besitzt? Jedes Array besitzt eine öffentliche
Eigenschaft (Attribut) mit dem Namen length . In dieser Eigenschaft finden Sie immer
die Anzahl der Elemente des Arrays. Damit kann eine Schleife programmiert werden,
die immer exakt die Anzahl der vorliegenden Noten berücksichtigt:
jLNoten.setText("Noten: ");
for (int i=0; i<noten.length; i++) {
jLNoten.setText(jLNoten.getText()+""+noten[i]);
}
Listing 11.2 Schleife zur Ausgabe aller Array-Elemente
Search WWH ::




Custom Search