Professional Documents
Culture Documents
Programming 1-8 - Slides
Programming 1-8 - Slides
oktober 2020
3
Terugblik
4
Methoden met een resultaat
• Een methode doet een bepaalde subtaak voor een andere methode
• Zoals we weten geef je soms informatie aan een methode mee (parameters)
• Het is ook mogelijk informatie terug te geven
− Dat gebeurt met het keyword return
• De waarde die terugkomt kan je opslaan / afdrukken / mee doorrekenen etc.
5
Het aanroepen van een
methode is eigenlijk hetzelfde:
• De naam
• Gevolgd door (); met
Methode gebruik: interpreteren eventuele parameters
if (checkVermogen (eindbedrag)) {
String boodschap = welkomstboodschap (naam, eindbedrag);
System.out.println (boodschap);
}
}
7
Je kunt het
resultaat van een
methode meteen
als parameter
Methode gebruik: interpreteren gebruiken
(NB: alleen een
parameter
helemaal aan het
public static void main(String[] args) { einde)
checkVermogen (berekenBedrag (1000, 1, 10));
}
=
11
Methode definitie: dicteren &
interpreteren
public static int berekenBedrag (int beginbedrag, int rente, int jaar) {
int eindbedrag = beginbedrag;
int teller = 1;
public static int berekenBedrag (int beginbedrag, int rente, int jaar) {
int eindbedrag = beginbedrag;
int teller = 1;
• Requirement: Het programma speelt het spelletje waarbij een speler 1, 2 of 3 lucifers van
een stapel mag pakken. Schrijf een methode die checkt of het gekozen aantal lucifers
toegestaan (1, 2 of 3 lucifers) en mogelijk is (er zijn nog voldoende lucifers over).
• Programma:
public static boolean checkToegestaan (int aantal, int nogOver) {
boolean checkAantal = aantal >= 1 && aantal <= 3;
boolean checkGenoeg = aantal <= nogOver;
return checkAantal && checkGenoeg;
}
14
Methode: relateren
• Requirement: Het programma speelt het spelletje waarbij een speler 1, 2 of 3 lucifers
van een stapel mag pakken. Schrijf een methode die op basis van het nummer van
een speler en het gekozen aantal een boodschap teruggeeft die zegt dat de zet niet
mag en dat er opnieuw gekozen moet worden.
• Programma:
public static String foutmelding (int speler, int aantal) {
String boodschap = "Speler " + speler + ", " + aantal + " lucifers is onjuist.";
boodschap += " Probeer het opnieuw.";
return boodschap;
}
15
Methode: relateren
• Requirement: Het programma speelt het spelletje waarbij een speler 1, 2 of 3 lucifers van een stapel mag
pakken. Schrijf een methode die de meegegeven speler vraagt een zet te doen totdat een geldige zet is
gekozen. Die zet wordt teruggegeven.
NB: de twee
while (!checkToegestaan (zet, huidigeAantal)) {
methodes
foutmelding (speler, zet);
checkToegestaan
zet = leesZet (speler);
en foutmelding
}
hebben we zojuist
geschreven
16 return zet;
}
Methode: relateren
• Requirement: Het programma speelt het spelletje waarbij een speler 1, 2 of 3 lucifers van een stapel mag pakken. De speler die de laatste pakt
verliest. Speler 1 begint. Steeds wordt een zet gevraagd. Als de zet goed is wordt deze gedaan. Er wordt bekeken of het spel is afgelopen. Als dat
zo is wordt een winstboodschap afgedrukt. Anders wisselt de speler. Schrijf een methode die dit spel speelt voor een meegegeven aantal lucifers.
• Programma:
public static void lucifers (int aantal) {
int huidigeAantal = aantal;
int huidigeSpeler = 1;
int zet = vraagZet (huidigeSpeler, huidigeAantal); Welke return-types
huidigeAantal = doeZet (zet, huidigeAantal);
hebben de methoden?
while (!afgelopen (huidigeAantal)) {
huidigeSpeler = wisselSpeler (huidigeSpeler);
zet = vraagZet (huidigeSpeler, huidigeAantal);
huidigeAantal = doeZet (zet, huidigeAantal);
}
18
Return-types: wat is er aan de hand?
Traceer
while (!poging1.equals (poging2)) {
System.out.println ("Kies een wachtwoord:"); Schrijf een programma dat
poging1 = scanner.nextLine (); a) Wimpie, test, test
vraagt om een
System.out.println ("Bevestig het wachtwoord:"); b) Wubbo, test, nee,
poging2 = scanner.nextLine (); gebruikersnaam en tweemaal test, test
}
een wachtwoord. Als de
return poging1;
} wachtwoorden niet
public static String vraagLogin () { overeenkomen worden de
Scanner scanner = new Scanner (System.in);
System.out.println ("Kies een gebruikersnaam:");
wachtwoorden nogmaals
return scanner.nextLine (); gevraagd. De gebruiker wordt
}
daarna welkom geheten.
public static void registreer () {
String login = vraagLogin ();
String wachtwoord = vraagWachtwoord ();
20
System.out.println ("Welkom " + login + ". uw wachtwoord is: " + wachtwoord);
Opdracht door docent
21
Opdracht door docent
22
Opdracht door docent
• Requirement: Schrijf een methode die op basis van een getal een
‘piramide’ oplevert. Getal staat voor het aantal lagen. Bij 5 lagen is het
de bedoeling dat de volgende piramide wordt getoond:
*
***
*****
*******
*********
23
Opdracht (in tweetallen)
24
Opdracht (in tweetallen)
25
Opdracht (in tweetallen)
26