# Der Lehrer und die Prüfungen



## Cloud1993 (25. Nov 2010)

Hallo liebe Community
Wir arbeiten gerade an einer kleinen Übung welche eine Klasse Lehrer und eine Klasse Prüfung enthält.
Nun gibt es beim Lehrer die Methode "createPruefungen(...)", in welcher die übergebene Prüfung in ein Array gespeichert wird.
In diesem Array wird mit 0 angefangen, falls dort schon eine Prüfung gespeichert ist bei 1. Dies bis zum 20. ([19]) Platz, falls dieser auch voll ist wird einfach dieser überschrieben.
Meine Lösung:

```
void createPruefung(String p_Thema, double p_P6, double p_P4){
		for (int Idx = 0; Idx < MAXPRUEFUNGEN; ++Idx){
			if (m_Pruefungen[Idx] == null){
				m_Pruefungen[Idx] = new Pruefung(p_Thema, p_P6, p_P4);
				break;
			}
			else if (Idx == 19){
				m_Pruefungen[Idx] = new Pruefung(p_Thema, p_P6, p_P4);
			}
			else{
				continue;
			}
		}
	}
```

Als Feedback bekam ich nur, dass ich 
a) keine For-Schleife und
b) keine If-Abfrage benutzen darf, ohne Begründung

Nun zu meinen 2 Fragen :

1) Weiss jemand wieso das so ist?
2) Kann ich sonst auf eine andere Art abfragen, ob der Array-Platz leer ist?

Besten Dank für Eure Hilfe
mfG
Cloud

//edit: Die Variablen P6 und P4 geben die nötigen Punkte für eine 4 resp. eine 6 (Wohne in der Schweiz, nicht das da jemand meint es ist unlogisch )


----------



## Quaxli (25. Nov 2010)

1) Das ist so.  (vermutlich weil der Lehrer es so will)
2) Darfst Du einfach einen Zähler mitlaufen lassen? Ich verstehe das so, daß die Methode mehrfach aufgerufen werden soll und nicht bei einmaligen Aufruf das ganze Array voll machen soll.


----------



## Cloud1993 (25. Nov 2010)

Zu 
1.: Dachte eher ob da eine logische Überlegung dahinter steckt (hat es auch, bei 2. dann zu sehen).
2.: Wir mussten alles in eine while-Schlaufe packen und die Überprüfung darin festlegen (was dann halt die Codeoptimierung als Grund hat)
Trozdem Besten Dank


----------

