Materialen

Doel

Leer hoe je variabelen kan aanwenden om waarden te onthouden, door te geven tussen methodes, te rekenen en tekst aan mekaar te zetten. In deze opdracht leer je hoe je de papegaai je persoonlijk kan laten begroeten. Ook maak je een rekenmachine die kan optellen.

Aan de slag

1. Een klasse importeren

Om de papegaai je naam te laten vragen moeten we eerst invoer van de gebruiker via het toetsenbord kunnen inlezen. Daarvoor gebruiken we een klasse Scanner uit de package java.util. Elke klasse bevindt zich in een package. Je hebt tot nu toe al String en System gebruikt, beide uit de package java.lang. Om een klasse uit java.lang te gebruiken moet je niets bijzonders doen, maar klassen uit andere packages, zoals java.util moet je eerst importeren vooraleer je ze kunt gebruiken. Een klasse importeer je door helemaal bovenaan je klasse, nog boven public class volgend import statement te zetten:

IMPORT STATEMENT

import java.util.Scanner;public class TalkingParrot { // ... }

Dit wil zeggen: importeer de klasse Scanner uit de package java.util. Zonder import zou je Scanner ook kunnen gebruiken, maar dan moet je de naam van de klasse voluit schrijven als java.util.Scanner, maar dat leest niet erg gemakkelijk. Binnen een package moet een klasse een unieke naam hebben. Packages zijn dan ook handig bij grotere projecten waar vele mensen aan werken. De kans is reëel dat twee mensen dezelfde naam voor een klasse bedenken zonder het van mekaar te weten. Als ieder in zijn eigen package werkt is dat geen probleem.

2. Invoer van het toetsenbord inlezen

Maar goed, genoeg over packages gepraat. Terug naar de essentie: invoer van het toetsenbord lezen. En een Scanner zal je daarbij helpen. Maak een nieuwe methode in de papegaai. Binnen die methode maak je een nieuwe Scanner aan en ken je die toe aan een variabele. Dat doe je als volgt:

EEN SCANNER MAKEN

public class TalkingParrot { public void repeat() { Scanner scanner = new Scanner(System.in); }}

Hiermee declareer je een variabele van het type Scanner met de naam scanner en je wijst er meteen een nieuwe Scanner aan toe. Een Scanner kan je gebruiken om andere dingen uit te lezen dan het toetsenbord, zoals bestanden. Maar wij willen het toetsenbord uitlezen via een terminalvenster, dus geven we System.in mee, de tegenhanger van System.out, waar je eerder mee kennis gemaakt hebt. Om nu tekstinvoer te lezen roep je de methode nextLine() aan op de Scanner. Het resultaat ken je toe aan een nieuwe variabele van het type String.

INVOER INLEZEN

public void repeat() { Scanner scanner = new Scanner(System.in); String input = scanner.nextLine(); }

Schrijf het resultaat achteraf uit door het mee te geven met System.out.println.

TEKSTVAK

public void repeat() { Scanner scanner = new Scanner(System.in); String input = scanner.nextLine(); System.out.println(input);}

Probeer je code eerst uit. Typ enkele woorden en druk op ENTER. Dan zou je dit moeten zien:

Maar het is nu niet duidelijk wat je precies moet ingeven en wie wat gezegd heeft. Vraag bijvoorbeeld je naam met System.out.println. Met System.out.print (zonder ln) kun je tekst tonen zonder dat er een nieuwe lijn wordt begonnen. Het is handig om een groter dan teken (>) voor de verwachte invoer te zetten. Met een plus-teken (+) kun je twee Strings aan mekaar zetten.

VRAAG EN ANTWOORD

public void repeat() { Scanner scanner = new Scanner(System.in); System.out.println("Wat is je naam?"); System.out.print("> "); String input = scanner.nextLine(); System.out.println("Hallo, " + input);}

Zo kom je tot het volgende resultaat:

3. Rekenen, parameters en returnwaarden

Goed, nu gaan we rekenen. Maak een nieuwe klasse aan die een rekenmachine voorstelt en voeg een methode toe om op te tellen. Aan de methode geven we twee parameters mee: de getallen die we gaan optellen en geven we een resultaat terug: de som van de twee getallen. Deze methode declareer je als volgt:

PARAMETERS EN RETURNWAARDEN

public class TalkingParrot { public int add(int value1, int value2) { // hier komt de code om op te tellen } }

De methode heeft nu het returntype int, wat staat voor integer (geheel getal). Deze methode geeft dus een geheel getal terug na afloop. De methode heeft ook twee parameters: value1 en value2, beide ook gehele getallen. Om deze getallen op te tellen gebruik je gewoon het plus-teken. Het resultaat geef je terug met een return statement:

EEN RETURNWAARDE VAN EEN METHODE TERUGGEVEN

public int add(int value1, int value2) { return value1 + value2;}

Bij het return statement is je methode meteen afgelopen en keert de uitvoering terug naar de methode die deze methode heeft opgeroepen. Test nu je code uit. Compileer je rekenmachine, maar een nieuw object en roep de methode voor op te tellen aan. Voeg nu twee willekeurige getallen in en klik op OK. Nu zou je het correcte resultaat moeten zien.

Proficiat! Je hebt geleerd hoe je variabelen aanmaakt, waarden toekent, parameters gebruikt en het resultaat van een methode teruggeeft.