Keuzestructuren if ..else |
Van drie getallen willen we de maximum waarde weten.
// Dit programma bepaalt het maximum van 3 getallen
// Maximum.java
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
public class Maximum extends Applet implements ActionListener{
Label vraag1, vraag2, vraag3;
TextField invoer1, invoer2, invoer3;
int getal1, getal2, getal3;
int maximum;
// Plaats de grafische componenten
public void init() {
vraag1 = new Label( "Geef het eerste getal: " );
invoer1 = new TextField( 10 );
vraag2 = new Label( "Geef het tweede getal: " );
invoer2 = new TextField( 10 );
vraag3 = new Label( "Geef het derde getal en druk op Enter: " );
invoer3 = new TextField( 10 );
add( vraag1 );
add( invoer1 );
add( vraag2 );
add( invoer2 );
add( vraag3 );
add( invoer3 );
invoer3.addActionListener(this); // alleen invoer3 geeft een event
}
// Verwerk het event
public void actionPerformed ( ActionEvent e) {
getal1 = Integer.parseInt( invoer1.getText() );
getal2 = Integer.parseInt( invoer2.getText() );
getal3 = Integer.parseInt( invoer3.getText() );
repaint();
}
public void paint(Graphics g) {
// als .. dan .. anders ..
if (getal1 > getal2 )
maximum = getal1;
else
maximum = getal2;
if (getal3 > maximum)
maximum = getal3;
g.drawString("Het maximum is " + maximum, 40, 100);
}
}
|
deeltaken
Het algoritme om het maximum te bepalen in pseudocode is:
Stap 2, 3 en 4 in Java:
if (getal1 > getal2 ) maximum = getal1; else maximum = getal2; if (getal3 > maximum) maximum = getal3;
De init methode
De vragen en invoervelden worden in de applet geplaatst. Het
event van invoer3 wordt gekoppeld aan de actionPerformed methode,
de andere twee niet.
De actionPerformed methode
Als in invoer3 de Entertoets wordt ingedrukt
worden de drie invoervelden uitgelezen en geconverteerd naar een
getal.
De paint methode
In de paint methode wordt het algoritme zoals die in de
bovenstaande analyse is vastgesteld uitgevoerd.