Hoofdstuk 8, opdracht 1
Opdracht
Deze opdracht luidde als volgt: "Bij een loterij worden loten getrokken met nummers tussen 100 en 999. Schrijf een applet waarmee je deze loten kunt trekken. Maak daartoe een methode trekking die een willekeurige int-waarde van 100 tot en met 999 aflevert."
Om een willekeurig getal te kiezen, hebben we even moeten Googlen. We kwamen er toen achter dat het mogelijk is een willekeurig getal tussen 0 en 1 te kiezen met Math.random( ); Omdat het interval 100 en 999 is, hebben we van een slim truckje gebruik gemaakt: het getal vermenigvuldigen met 899 en dan 100 bij de uitkomst optellen.
Applet
Code
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class Appletje extends Applet implements ActionListener {
// Defineer knop
Button lotenKnop;
// Defineer globale variabele
boolean gevonden;
int lot;
public void init() {
// Initialiseer knop
lotenKnop = new Button( "Trek lot" );
lotenKnop.addActionListener( this );
// Voeg element toe aan GUI
add( lotenKnop );
}
public void paint(Graphics g) {
if ( gevonden ) {
g.drawString( "Het gekozen lotnummer (tussen 100 en 999) is: " + this.lot, 50, 60 );
}
}
public void actionPerformed( ActionEvent e ) {
// Is er op de lotenKnop gedrukt?
if ( e.getSource( ) == lotenKnop ) {
// Roep de 'trekking'-methode aan
this.lot = this.trekking( );
// Geef aan dat er op de knop gedrukt is
this.gevonden = true;
// Teken output opnieuw
repaint( );
}
}
// Hier gebeurt the magic
private int trekking( ) {
// Kies een random getal tussen 100 en 999
return (int)( Math.random( ) * 899 + 100 );
}
} Screenshot
