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 );

	}
	
}

Selecteer code

Screenshot

Hoofdstuk 8, opdracht 1