Ik zit met het volgende (syntactische) probleem.
Opgave 1 in de zelftoets van Le04 , deel 1 in de OU cursus programmeren in Java 1 geeft de volgende oplossing:
- private void naamVeldAction(){
- woonplaatsLabel.setText(" ");
- partijLabel.setText(" ");
- String naam = naamVeld.getText();
- ArrayList<Partij>partijLijst = machine.getPartijen();
- for(Partij p : partijLijst){
- Kandidaat k = p.zoek(naam);
- if(k != null){
- woonplaatsLabel.setText("Woonplaats: " + k.getWoonplaats());
- partijLabel.setText("Partij: " + p.getNaam());
- }
- }
- }
Een methode voor het afhandelen van een Event.
De oplossing had ik zelf ook al gevonden en ik begrijp waarom dit werkt.
Mijn vraag is nu:
Waarom kan er in de code geen IF ELSE statement worden geschreven, dus in plaats van de code hierboven, bijvoorbeeld de hieronder geschreven code:
private void naamVeldAction(){
String naam = naamVeld.getText();
ArrayList<Partij>partijLijst = machine.getPartijen();
for(Partij p : partijLijst){
Kandidaat k = p.zoek(naam);
if(k != null){
woonplaatsLabel.setText("Woonplaats: " + k.getWoonplaats());
partijLabel.setText("Partij: " + p.getNaam());
} else { else if (k == null){
woonplaatsLabel.setText(" "); of woonplaatsLabel.setText(" ");
partijLabel.setText(" "); partijLabel.setText(" ");
}
}
}
Waarom werkt deze code niet en de bovenste wel?
Waarom worden de Label in de bovenste code wel geleegd, maar niet in de onderste code.
Gehele Frame-code in bijlage.
Alvast bedankt,
Groet JavaNoob