• No results found

Java Quizmaster voor beginners

N/A
N/A
Protected

Academic year: 2022

Share "Java Quizmaster voor beginners"

Copied!
98
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

Java Quizmaster voor beginners

(2)
(3)

Java Quizmaster voor beginners

Docentenhandleiding Sar Maroof

Brinkman Uitgeverij · Amsterdam · 2018

(4)

Deze Docentenhandleiding behoort bij Java Quizmaster voor beginners, tweede druk,

isbn 978 90 5752 396 0

Omslagontwerp: Proforma, Barcelona Redactie en opmaak: Henk Pel

© 2018 Brinkman Uitgeverij, Amsterdam

Gehele of gedeeltelijke overneming of reproductie van de inhoud van deze uitgave, op welke wijze dan ook, zonder voorafgaande schriftelijke toestemming van de au- teursrechthebbende is verboden, behoudens de beperkingen bij de wet gesteld. Het verbod betreft ook gehele of gedeeltelijke bewerking. De uitgever is met uitsluiting van ieder ander gerechtigd de door derden verschuldigde vergoedingen voor kopi- eren, als bedoeld in artikel 17 Auteurswet 1912 en in het kb van 20 juni 1974 (Stb.

351, 1974) ex artikel 16b Auteurswet 1912, te innen en/of daartoe in en buiten rechte op te treden.

Correspondentie inzake overneming of reproductie richten aan:

Brinkman Uitgeverij, Postbus 59686, 1040 ld Amsterdam www.brinkman-uitgeverij.nl

tel. 020-4120970, fax 020-4120972

e-mail: info@brinkman-uitgeverij.nl

(5)

v

Inhoud Inhoud

Over de docentenhandleiding 1

1 Objectgeoriënteerd programmeren (OOP) 3 2 Gegevenstypen en variabelen 5

3 Operatoren 8

4 Conditionele statements 13 5 Iteratie-statements (loops) 21

6 Klassen, objecten en constructoren 26 7 Methoden 31

8 Strings en StringBuff ers 37 9 Packages en toegangsrechten 42 10 Array en ArrayList 46

11 Statische leden (methoden en variabelen) 53 12 Overerving 57

13 Final klassen en het fi nal sleutelwoord 64 14 Abstracte klassen 68

15 Interfaces 73

16 Conversie (casting) van primaire variabelen en objecten 77 17 Geneste (nested) klassen 81

18 Afhandelen van excepties (exceptions) 85

(6)
(7)

1

Over de docentenhandleiding

In deze handleiding vind je alle uitvoeringen van de opdrachten en de hoofdstuk- opdrachten. Het boek Java quizmaster voor beginners is bedoeld om Java te leren.

Hiervoor is programmeerkennis niet vereist, maar wel een abstract denkniveau.

Studenten die dit boek beheersen kunnen als beginnend programmeur aan de slag met Java.

Knippen en plakken van codes is een gewoonte bij zowel beginnende als gevor- derde programmeurs. Ik raad beginnende programmeurs aan om de code over te typen, want daar leer je ook van. In elk vak heb je bepaalde onderdelen die je moet begrijpen, maar ook onderdelen die je uit je hoofd moet leren. In rekenen bijvoor- beeld moet je de tafels van vermenigvuldiging uit je hoofd leren, omdat dat de in- gewikkeldere rekenoperaties makkelijker maakt.

Bij het leren programmeren moet je ook onderdelen uit je hoofd leren. Bij het her- haaldelijk overtypen van programmacodes leer je hoe de structuur van de code in elkaar zit. Dat zie je niet als je de code snel bekijkt. Als je een opdracht geeft aan beginners die vaak codes knippen en plakken, weten ze niet waar ze mee moeten beginnen. Ze zoeken vaak andere dergelijke programma’s om die te veranderen naar hun wensen. Bij het overtypen of zelf programmeren ontdek je zowel kleine als grote fouten tijdens het compileren van je code.

De codes van de quizzen van het boek Java quizmaster worden aan de studenten gegeven. De bedoeling is dat studenten voldoende tijd krijgen om de oplossing te bedenken en niet de code direct uit te voeren. Bij elke quiz staan er een of meer op- drachten die de studenten zelfstandig moeten uitvoeren. Alle pogingen die gedaan worden om een probleem op te lossen brengen je steeds een niveau hoger bij het programmeren, zelfs als je het probleem uiteindelijk niet kunt oplossen.

Op www.sarmaroof.com is meer informatie over dit boek te vinden. Hier vind je een discussieforum waar iedere gebruiker van het boek vragen kan stellen en op- merkingen kan plaatsen. Daar vind je ook een stap-voor-stap-uitleg hoe je de code kunt opzetten in Eclipse.

Sar Maroof

(8)
(9)

3

1 Objectgeoriënteerd programmeren (OOP)

Quiz 1

public class Auto {

String merk;

int kilometerstand;

double prijs;

// antwoord String kleur;

public static void main(String[] args) {

Auto auto1 = new Auto();

Auto auto2 = new Auto();

Auto auto3 = new Auto();

auto1.merk = “Volkswagen”;

auto1.kilometerstand = 4000;

auto1.prijs = 4500;

auto1.kleur = “zwart”;

auto2.merk = “Mazda”;

auto2.kilometerstand = 2000;

auto2.prijs = 3500;

auto2.kleur = “rood”;

auto3.merk = “Nissan”;

auto3.kilometerstand = 7000;

auto3.prijs = 6500;

auto3.kleur = “wit”;

// print de kleuren van de auto’s

System.out.println(“Automerk 1: “ +auto1.merk + “, kleur: “ + auto1.kleur);

System.out.println(“Automerk 2: “ +auto2.merk + “, kleur: “ + auto2.kleur);

System.out.println(“Automerk 3: “ +auto3.merk + “, kleur: “ + auto3.kleur);

} }

Antwoord

Om de kleur van de objecten

auto1

,

auto2

en

auto3

te weten, moeten we de attri-

buutkleur van het type

String

toevoegen aan de de klasse

Auto

; zie verder de code.

(10)

4 1 Objectgeoriënteerd programmeren (OOP)

Quiz 2

public class Dier {

String naam;

String soort;

public static void main(String[] args) {

Dier dier1 = new Dier();

Dier dier2 = new Dier();

Dier dier3 = new Dier();

dier1.naam = “Tijger”;

dier1.soort = “roofdier”;

dier2.naam = “Hond”;

dier2.soort = “huisdier”;

dier3.naam = “Koe”;

dier3.soort = “boerderijdier”;

// antwoord

System.out.println(“Dier 1: “ + dier1.naam +”, Soort: “+dier1.soort);

System.out.println(“Dier 2: “ + dier2.naam +”, Soort: “+dier2.soort);

System.out.println(“Dier 3: “ + dier3.naam +”, Soort: “+dier3.soort);

} }

Quiz 3

public class Computer {

String merk;

int hardeSchijf;

int ram;

public static void main(String[] args) {

Computer comp = new Computer();

Computer mijnComputer = new Computer();

Computer eenComputer = new Computer();

Computer computer = new Computer();

// antwoord

mijnComputer.merk = “HP”;

mijnComputer.hardeSchijf = 120;

mijnComputer.ram = 8;

System.out.println(“Merk: “+mijnComputer.merk);

System.out.println(“Harde schijf: “+mijnComputer.hardeSchijf + “ GB”);

System.out.println(“RAM: “+mijnComputer.ram + “ GB”);

} }

(11)

5

2 Gegevenstypen en variabelen

Quiz 1

public class Arbeider {

boolean isGetrouwd;

int leeftijd = 29;

long bankrekening = 6552;

double loon = 110.30;

char geslacht = ‘m’; // vrouw: v, man: m // de variabele isBuitenlander declareren boolean isBuitenlander = true;

public static void main(String[] args) {

Arbeider arb = new Arbeider();

System.out.print(arb.leeftijd + “, “);

System.out.print(arb.bankrekening + “, “);

System.out.print(arb.loon + “, “);

System.out.print(arb.isGetrouwd + “, “);

System.out.println(arb.geslacht);

// print de waarde van de variabele isBuitenlander System.out.print(“Het antwoord is: “);

System.out.print(arb.isBuitenlander);

} }

Antwoorden

1 Een praktische variabelekeuze is

boolean

, omdat we twee waarden nodig hebben.

Voor buitenlanders zou de waarde

true

zijn en de waarde

false

wordt gebruikt voor niet-buitenlanders.

2 Om onnodig werk te vermijden moet de variabele

isBuitenlander

standaard

true

zijn. De reden is dat de meeste werknemers buitenlanders zijn.

Quiz 2

public class MijnVariabele {

byte b = 122;

short s;

float f1 = 3.50f;

float f2 = 43.9f;

double d = 335.35;

// antwoord

char mijnChar = ‘Q’;

(12)

6 2 Gegevenstypen en variabelen

public static void main(String[] args) {

MijnVariabele mv = new MijnVariabele();

System.out.print(mv.b + “, “);

System.out.print(mv.s + “, “);

System.out.print(mv.f1 + “, “);

System.out.print(mv.f2 + “, “);

System.out.print(mv.d + “, “);

// antwoord

System.out.print(mv.mijnChar);

} }

Quiz 3

public class MijnKlasse {

int i;

double d;

boolean b;

// antwoord

double mijnVar = 1344.98;

char mijnVar2 = ‘g’;

int mijnVar3 = 766;

public static void main(String[] args) {

MijnKlasse mk = new MijnKlasse();

System.out.print(mk.i + “, “);

System.out.print(mk.d + “, “);

System.out.print(mk.b + “, “);

// antwoord

System.out.print(mk.mijnVar + “, “);

System.out.print(mk.mijnVar2 + “, “);

System.out.print(mk.mijnVar3);

} }

Antwoorden

1 De waarde

1344.98

is een fl oating point type, daarom moet hij van het type

double

of

float

zijn.

2 De waarde

g

is een karaktertype, daarom moet hij van het type

char

zijn.

3 De waarde

766

is een geheel getal, daarom moet hij van het type

short

,

int

of

long

zijn.

Quiz 4

public class MijnKlasse {

int i1 = 7;

int i2 = 12;

(13)

2 Gegevenstypen en variabelen 7

public static void main(String[] args) {

MijnKlasse mk = new MijnKlasse();

// antwoord mk.i1 = 9;

mk.i2 = 8;

mk.i1 = mk.i1 - 3;

mk.i2 = mk.i2 + mk.i1;

System.out.print(mk.i1 + “, “);

System.out.print(mk.i2 + “ “);

} }

Antwoorden

3 Het statement

i1 = 9

staat onder het statement dat

i1

declareert en haar waarde initialiseert, daarom is de waarde van i1 = i1 - 3 = 9 - 3 = 6.

Het statement

i2 = 8

staat onder het statement dat

i2

declareert en haar waarde initialiseert. De nieuwe waarde van

i2

is dus

8

.

i2 = i2 + i1 = 8 + 6 = 14

(14)

8

3 Operatoren

Quiz 1

public class Rekenen {

public static void main(String[] args) {

int x = 20;

int y = 5;

int z = 3;

double d = 2.2;

double d2 = 3.7;

System.out.print(x / y + ", ");

System.out.print(x * z + ", ");

System.out.print(x + y - z + ", ");

System.out.print(x / y + z * 2 + ", ");

System.out.println(d2 - d);

// Antwoord

System.out.print("Het antwoord is: ");

System.out.print(x * y / 10 + ", ");

System.out.print(2 * d2 + 2.5 + ", ");

System.out.print(z * 3 - 6);

} }

Quiz 2

public class MijnKlasse {

public static void main(String[] args) {

System.out.print(21 % 7 + ", ");

System.out.print(12 % 5 + ", ");

System.out.println(23 % 6);

// Antwoord

System.out.print("Het antwoord is: ");

System.out.print(44 % 10 + ", ");

System.out.print(7 % 2 + ", ");

System.out.print(30 % 3);

} }

(15)

3 Operatoren 9

Quiz 3

public class MijnKlasse {

public static void main(String[] args) {

int x = 4;

int y = 6;

x -- ; y ++ ; // Antwoord

System.out.print("Het antwoord is: ");

x ++ ;

System.out.print(x + ", " + y);

//x ++ ; }

}

Antwoorden

1 De waarde van

x

wordt verhoogd met

1

voor het schrijven van de waarde naar de standaarduitvoer.

2 De code schrijft de waarde van

x

eerst naar de standaarduitvoer, dan wordt de waarde van

x

verhoogd met

1

.

3 Ja.

Quiz 4

public class MijnKlasse {

public static void main(String[] args) {

int x = 15;

int y = 8;

int z = 3;

if(x == z) {

System.out.print("N");

}

if(x >= y) {

System.out.print("O");

System.out.print("Z");

}

if(x <= z) {

System.out.print("P");

} if(z > y) {

System.out.print("Q");

}

if(y != z)

(16)

10 3 Operatoren

{

System.out.print("R");

} } }

Antwoorden

Door het toewijzen van de waarde

15

aan de variabele

x

levert het statement

if(x == z)onwaar

(

false

) op, maar het statement

if(x >= y)

levert op

waar

(

true

).

Het resultaat is dat

OZR

wordt geschreven naar de standaarduitvoer.

Quiz 5

public class MijnKlasse {

public static void main(String[] args) {

boolean isDefect = false;

int x = 1;

int y = 7;

int z = 9;

if(x < y && x > 1) {

System.out.print("N");

}

if(z > y || x > y) {

System.out.print("O");

}

if( ! isDefect) {

System.out.print("P");

} } }

Antwoorden

1 Als

isDefectfalse

is, levert het laatste statement

if(! isDefect)waar

(

true

) op. Het programma schrijft ook

P

naar de standaarduitvoer.

2 Als

x

gelijk is aan

1

, geeft het statement

if(x < y && x > 1)onwaar

als resultaat. In dit geval wordt

N

niet geschreven naar de standaarduitvoer.

Quiz 6

public class MijnKlasse {

public static void main(String[] args) {

boolean isOud = true;

int x = 5;

int y = 14;

(17)

3 Operatoren 11

int z = 17;

if(y > x && z > y && (x + 12) >= z) {

System.out.print("P");

}

if(x >= 6 || z <= y || z <= 18) {

System.out.print("Q");

}

if( ! isOud || y > z) {

System.out.print("R");

} } }

Antwoorden

Het statement

if(! isOud || y > z)

levert op

onwaar

, omdat de eerste operand

!isOud

ook

onwaar

is.

In dit geval wordt het blok genegeerd en

R

wordt niet geschreven naar de stan- daarduitvoer.

Als

z

gelijk is aan

17

, levert het statement

if(y > x && z > y && (x + 12) >= z)waar

op. De reden hiervoor is dat alle operanden

waar

opleveren.

De eerste operand

y > x

is

waar

, de tweede operand

z > y

is

waar

, en de derde ope- rand

(x + 12) >= z

is ook

waar

. Als het blok is uitgevoerd, wordt

P

geschreven naar de standaarduitvoer.

Als

z

gelijk is aan

17

, levert het statement

if(x >= 6 || z <= y || z <= 18)waar

op.

De reden is dat de operand

z <= 18waar

is.

Quiz 7

public class MijnKlasse {

public static void main(String[] args) {

int i1 = 3;

int i2 = 5;

int i3 = 12;

int i4 = 20;

i1 += 4;

i2 *= 3;

i3 /= 3;

i4 -= 12;

// Antwoord

System.out.print("Het antwoord is: ");

i1 ++ ; i2 -= 3;

i3 *= 2;

i4 /= 4;

(18)

12 3 Operatoren

System.out.print(i1 + ", ");

System.out.print(i2 + ", ");

System.out.print(i3 + ", ");

System.out.print(i4 + " ");

} }

Quiz 8

public class MijnKlasse {

public static void main(String[] args) {

int i1 = 22;

int i2 = 17;

int i3 = 30;

i1 %= 6;

i2 %= 5;

i3 %= 6;

// Antwoord

System.out.print("Het antwoord is: ");

i1 %= 3;

i2 %= 7;

System.out.print(i1 + " ");

System.out.print(i2 + " ");

System.out.print(i3 + " ");

} }

Quiz 9

public class MijnKlasse {

public static void main(String[] args) {

int x = 6;

int x2 = 4;

int y = (x == 3) ? 24 :8;

int z = (x2 == 4) ? 33 :21;

System.out.print(y);

System.out.print(z);

} }

(19)

13

4 Conditionele statements

Quiz 1

public class MijnKlasse {

public static void main(String[] args) {

int i = 2;

// Antwoord if(i == 2) {

System.out.print("N");

} if(i > 0) {

System.out.print("X");

System.out.print("Y");

} if(i > 3) {

System.out.print("Z");

} } }

Quiz 2

public class MijnKlasse {

public static void main(String[] args) {

int a = 3;

int b = 1;

int x = 0;

if(a > b) { x ++ ; if(a > x) { x += 5;

} x -= 4;

}

if(b == a)

(20)

14 4 Conditionele statements

{ x += 2;

if(x < b) { x += 3;

} }

System.out.print(x);

// Antwoord if(a <= 4) {

System.out.print("G");

} } }

Quiz 3

public class MijnKlasse {

public static void main(String[] args) {

char c1 = 'g';

char c2 = 'h';

if(c1 == 'k') {

System.out.print('w');

}

if(c2 == 'h') {

System.out.print('x');

System.out.print('p');

}

if(c1 != c2) {

System.out.print('y');

}

// Antwoord if(c1 == 'd') {

// wordt genegeerd }

else {

System.out.print('z');

} } }

(21)

4 Conditionele statements 15

Quiz 4

public class MijnKlasse {

public static void main(String[] args) {

int a = 2;

int b = 2;

int x = 5;

// Antwoord 1 if(a != b) {

x ++ ; }

// Antwoord 2 else if(b >= 1) {

System.out.print("X");

}

else if(b == 2) {

x += 2;

}

// Verkeerd antwoord /*

else if(b >= 1) { System.out.print("X");

}*/

else { x += 3;

}

System.out.print(x);

} }

Quiz 5

public class MijnKlasse {

public static void main(String[] args) {

int i = 1;

int i2 = 4;

int x = 2;

if(i == (i2 - 3) && i2 > 5) {

x ++ ; }

// Antwoord

else if((i + i2) == 5) {

System.out.print("D");

}

(22)

16 4 Conditionele statements

else if(i2 == 4) {

x += 2;

}

// Verkeerd antwoord /*else if((i + i2) == 5) { System.out.print("D");

}*/

else if(i2 > 3) {

x += 3;

}

// Verkeerd antwoord /*else if((i + i2) == 5) { System.out.print("D");

}*/

else { x += 4;

}

System.out.print(x);

} }

Quiz 6

public class MijnKlasse {

public static void main(String[] args) {

int i1 = 3;

int i2 = 9;

int i3 = 12;

int x = 0;

if(x > - 1) {

x ++ ;

if(i3 == (i1 + i2)) {

x += 4;

if(i1 < 5) {

x += 2;

// Het eerste mogelijke antwoord System.out.print(x);

}

else if(i2 == 9) {

x ++ ; } else { x -= 2;

}

(23)

4 Conditionele statements 17

// Het tweede mogelijke antwoord //System.out.print(x);

x -= 6;

}

if(i3 < 10) {

x += 7;

} else { x += 5;

} }

System.out.print(x);

} }

Quiz 7

public class MijnKlasse {

public static void main(String[] args) {

int i = 2;

int i2 = 5;

int i3 = 9;

int x = 3;

boolean isLangzaam = true;

if(isLangzaam) {

x ++ ; // Antwoord

System.out.print("x" + x + ", ");

if(i >= 2 && i2 > 7) {

x += 4;

System.out.print("x" + x + ", ");

if(i3 == 9) {

x += 5;

System.out.print("x" + x + ", ");

} } else { x += 6;

System.out.print("x" + x + ", ");

if(i3 >= 3) {

x += 7;

}

System.out.print("x" + x + ", ");

}

(24)

18 4 Conditionele statements

x += 3;

}

System.out.print("x" + x);

} }

Antwoord

Dit programma schrijft

x4, x10, x17, x20

naar de standaarduitvoer.

Quiz 8

public class MijnKlasse {

public static void main(String[] args) {

int x = 8;

switch(x) { case 6:

x += 5;

case 7:

x += 3;

case 8:

x += 2;

// Antwoord 2 break;

case 9:

x ++ ; // Antwoord 1 break;

default:

x += 4;

}

System.out.print(x);

} }

Antwoorden

1 Als je het

break

-statement verwijdert, wordt het default statement uitgevoerd.

Het statement

x +=4

vermeerdert de waarde van

x

met

4

: x = 11 + 4 = 15.

2 Als je een

break

-statement onder het statement

x += 2

invoegt, wordt case 9 gene- geerd. Het programma schrijft in dit geval

10

naar de standaarduitvoer.

Quiz 9

public class Jaar {

public static void main(String[] args) {

int intMaand = 9;

String strMaand;

switch(intMaand)

(25)

4 Conditionele statements 19

{ case 1:

strMaand = "jan ";

break;

case 2:

strMaand = "feb ";

break;

case 3:

strMaand = "mrt ";

break;

case 4:

strMaand = "apr ";

break;

case 5:

strMaand = "mei ";

break;

case 6:

strMaand = "jun ";

break;

case 7:

strMaand = "jul ";

break;

case 8:

strMaand = "aug ";

break;

case 9:

strMaand = "sep ";

break;

case 10:

strMaand = "okt ";

break;

case 11:

strMaand = "nov ";

break;

case 12:

strMaand = "dec";

break;

default:

strMaand = "Ongeldig ";

}

System.out.println(strMaand);

} }

Quiz 10

public class Examen {

public static void main(String args[]) {

// Antwoord 3 char resultaat = 'D';

(26)

20 4 Conditionele statements

switch(resultaat) {

case 'A':

System.out.print("Uitstekend! ");

break;

case 'B':

System.out.print("Zeer goed ");

break;

// Antwoord 1 case 'C':

System.out.print("Goed ");

break;

// Antwoord 2 case 'D':

System.out.print("Redelijk ");

break;

case 'E':

System.out.print("Probeer het opnieuw ");

break;

default:

System.out.print("Ongeldig ");

} } }

(27)

21

5 Iteratie (loop) statements

Quiz 1

public class MijnLoop {

public static void main(String[] args) {

int i = 3;

while(i > 1) {

i -- ;

System.out.print(i);

} } }

Quiz 2

public class MijnLoop {

public static void main(String[] args) {

int i = 8;

while(i > 1) {

i ++ ;

System.out.print(i);

// Antwoord i -= 5;

} } }

Antwoord

Het statement

while(i > 1)

levert altijd

waar

op, omdat de variabele

i

altijd groter dan

1

blijft.

Quiz 3

public class MijnLoop {

public static void main(String[] args) {

int i = 4;

do

(28)

22 5 Iteratie (loop) statements

{ i += 6;

System.out.print(i);

}

while(i <= 12);

} }

Quiz 4

public class MijnLoop {

public static void main(String[] args) {

int i = 2;

do { i += 3;

if(i != 4) {

System.out.print("x");

} else {

System.out.print("y");

} }

while(i < 10);

} }

Antwoorden

1 Het statement

while(i != 10)

levert altijd

onwaar

op en dit veroorzaakt een einde- loze loop.

Quiz 5

public class MijnLoop {

public static void main(String[] args) {

// Antwoord

for(int i = 1; i < 10; i += 3) {

System.out.print(i);

} } }

(29)

5 Iteratie (loop) statements 23

Quiz 6

public class MijnLoop {

public static void main(String[] args) {

int x = 1;

for(int i = 3; i < 13; i += 5) {

x += i;

} x -= 2;

System.out.print(x);

} }

Quiz 7

public class MijnLoop {

public static void main(String[] args) {

char c = 'a';

char c2 = 'b';

for(int i = 4; i >= 0; i -- ) {

if(i < 2 || i == 4) {

System.out.print(c2);

} else {

System.out.print(c);

} } } }

Quiz 8

public class MijnLoop {

public static void main(String[] args) {

int x = 14;

int y = 5;

for(int i = 0; i < 10; i ++ ) {

x += 2;

y += 5;

if(x >= 21) {

break;

}

(30)

24 5 Iteratie (loop) statements

}

System.out.print(y);

} }

Quiz 9

public class Schrikkeljaar {

public static void main(String[] args) {

for(int jaar = 2016; jaar <= 2040; jaar ++ ) {

if((jaar % 4 == 0)) {

continue;

}

System.out.print(jaar + " ");

} } }

Quiz 10

public class Minitheater {

public static void main(String[] args) {

for(int rij = 1; rij <= 5; rij ++ ) {

for(int kol = 1; kol < 4; kol ++ ) {

if(rij == 1 || rij == 3) {

continue;

}

System.out.print(rij + "," + kol + " ");

} } } }

Quiz 11

public class Theater {

public static void main(String[] args) {

outer:for(int row = 1; row < 4; row ++ ) {

inner:for(int kol = 1; kol < 5; kol ++ ) {

if(row == 2 && kol == 3)

(31)

5 Iteratie (loop) statements 25

{

break inner;

}

System.out.print(row + "," + kol + " ");

} } } }

(32)

26

6 Klassen, objecten en constructoren

Quiz 1

public class Werknemer {

String naam = "Anna";

int leeftijd = 22;

String telefoonnummer;

String stad;

public static void main(String[] args) {

Werknemer wn = new Werknemer();

Werknemer wn2 = new Werknemer();

Werknemer werknemer = new Werknemer();

werknemer.naam = "Emma";

werknemer.leeftijd = 25;

werknemer.telefoonnummer = "00233-786854";

werknemer.stad = "Amsterdam";

wn.naam = "Jan";

wn.leeftijd = 20;

wn.telefoonnummer = "00383-384833";

wn.stad = "Brussel";

System.out.println("--- Werknemers ---");

System.out.println("Naam: " + wn.naam);

System.out.println("Leeftijd: " + wn.leeftijd);

System.out.println("Telefoonnummer: " + wn.telefoonnummer);

System.out.println("Stad: " + wn.stad);

System.out.println("---");

System.out.println("Naam: " + werknemer.naam);

System.out.println("Leeftijd: " + werknemer.leeftijd);

System.out.println("Telefoonnummer: " + werknemer.telefoonnummer);

System.out.println("Stad: " + werknemer.stad);

} }

(33)

6 Klassen, objecten en constructoren 27

Quiz 2

public class MijnKlasse {

int x;

int y = 7;

public static void main(String[] args) {

MijnKlasse mk = new MijnKlasse();

mk.x = 5;

mk.y = 8;

MijnKlasse mk2 = new MijnKlasse();

MijnKlasse mk3 = mk;

System.out.println(mk.x + ", " + mk2.x + ", " + mk3.y);

// Antwoord

System.out.print("Het antwoord is: ");

MijnKlasse mijnKlasse = new MijnKlasse();

mijnKlasse = mk3;

System.out.println(mijnKlasse.x + ", " + mijnKlasse.y);

} }

Quiz 3

public class MijnKlasse {

int x = 2;

int y = 5;

// no-argument-constructor MijnKlasse()

{

// Antwoord 1 this(6,3);

}

// een-argument-constructor MijnKlasse(int x)

{

this.y = x;

}

// twee-argument-constructor MijnKlasse(int x, int y) {

this.x = x;

this.y = y;

}

public static void main(String[] args) {

MijnKlasse mk = new MijnKlasse();

MijnKlasse mk2 = new MijnKlasse(7);

MijnKlasse mk3 = new MijnKlasse(9,3);

System.out.println(mk.y + ", " + mk2.y + ", " + mk3.x);

(34)

28 6 Klassen, objecten en constructoren

// Antwoord 2

MijnKlasse mijnObject = new MijnKlasse();

// Antwoord 3

System.out.print("Het antwoord is: ");

System.out.print("x:" + mijnObject.x + ", ");

System.out.print("y:" + mijnObject.y);

} }

Quiz 4

public class Medewerker {

String naam = "Ron";

double salaris = 400.0;

Medewerker(String naam) {

this(naam,780.0);

}

Medewerker(String naam, double salaris) {

this.naam = naam;

this.salaris = salaris;

}

public static void main(String[] args) {

Medewerker md = new Medewerker("Henk");

System.out.println(md.naam + ", " + md.salaris);

// Antwoord 1

Medewerker mwObject = new Medewerker("Femke",2000.55);

// Antwoord 2

System.out.print("Het antwoord is: ");

System.out.print(mwObject.naam + ", €" + mwObject.salaris);

} }

Quiz 5

public class MijnKlasse {

int x = 3;

int y = 5;

// Antwoord 1 int z;

MijnKlasse() {

this(4,6);

}

MijnKlasse(int x, int y) {

this.y = y;

}

(35)

6 Klassen, objecten en constructoren 29

// Antwoord 2

MijnKlasse(int x, int y, int z) {

this.x = x;

this.y = y;

this.z = z;

}

public static void main(String[] args) {

MijnKlasse mk = new MijnKlasse();

MijnKlasse mk2 = new MijnKlasse(9,7);

System.out.println(mk.x + ", " + mk.y + ", " + mk2.x + ", " + mk2.y);

// Antwoord 3

MijnKlasse mk3 = new MijnKlasse(7,8,9);

// Antwoord 4

System.out.print("Het antwoord is: ");

System.out.print(mk3.x + ", " + mk3.y + ", " + mk3.z);

} }

Opdracht hoofdstuk 5: Klasse MijnWerknemer maken zonder en met constructoren

// De eerste klasse zonder een constructor public class MijnWerknemer

{

String naam;

double salaris = 2400.55;

String land = "Nederland";

public static void main(String[] args) {

MijnWerknemer werknemer = new MijnWerknemer();

MijnWerknemer werknemer2 = new MijnWerknemer();

werknemer.naam = "Sofia";

werknemer.salaris = 3100.45;

werknemer.land = "België";

werknemer2.naam = "Daniel";

System.out.println("--- Werknemers ---");

System.out.println("Naam: " + werknemer.naam);

System.out.println("Salaris: € " + werknemer.salaris);

System.out.println("land: " + werknemer.land);

System.out.println("---");

System.out.println("Naam: " + werknemer2.naam);

System.out.println("Salaris: € " + werknemer2.salaris);

System.out.println("land: " + werknemer2.land);

} }

(36)

30 6 Klassen, objecten en constructoren

//De tweede klasse met behulp van constructoren public class MijnWerknemer

{

String naam;

double salaris;

String land;

MijnWerknemer(String naam) {

this.naam = naam;

this.salaris = 2400.55;

this.land = "Nederland";

}

MijnWerknemer(String naam, double salaris, String land) {

this.naam = naam;

this.salaris = salaris;

this.land = land;

}

public static void main(String[] args) {

MijnWerknemer werknemer = new MijnWerknemer("Sofia",3100.45,"België");

MijnWerknemer werknemer2 = new MijnWerknemer("Daniel");

System.out.println("--- Werknemers ---");

System.out.println("Naam: " + werknemer.naam);

System.out.println("Salaris: € " + werknemer.salaris);

System.out.println("land: " + werknemer.land);

System.out.println("---");

System.out.println("Naam: " + werknemer2.naam);

System.out.println("Salaris: € " + werknemer2.salaris);

System.out.println("land: " + werknemer2.land);

} }

(37)

31

7 Methoden

Quiz 1

public class Edelmetaal {

double ozGoud = 1300.0; // de prijs van een ounce goud double ozZilver = 20.0; // de prijs van een ounce zilver double ozPlatinum = 936; // de prijs van een ounce Platinum boolean isGoud = true;

public double berekenMetaalPrijs(boolean isGoud, int ounce) {

if(isGoud) {

return ozGoud * ounce;

} else {

return ozZilver * ounce;

} }

// Antwoord 1

public double berekenPlatinumPrijs(double ounce) {

return ounce * ozPlatinum;

}

public static void main(String[] args) {

Edelmetaal em = new Edelmetaal();

System.out.print(em.berekenMetaalPrijs(false,4));

System.out.print(", ");

System.out.println(em.berekenMetaalPrijs(true,2));

// Antwoord 2, 3

System.out.println("5.5 ounce: " + "€" + em.berekenPlatinumPrijs(5.5));

System.out.println("4.5 ounce: " + "€" + em.berekenPlatinumPrijs(4.5));

System.out.println("6.0 ounce: " + "€" + em.berekenPlatinumPrijs(6.0));

} }

Quiz 2

public class MijnKlasse {

int i = 5;

int i2 = 3;

(38)

32 7 Methoden

public int bereken() {

i ++ ; if(i <= i2) {

return i * i2;

}

else if((i + i2) >= 9) {

return i + i2 + 5;

}

return i * i2 + 3;

}

// Antwoord 1

public int vermenigvuldig(int x, int y) {

return x * y;

}

public static void main(String[] args) {

MijnKlasse mk = new MijnKlasse();

System.out.println(mk.bereken());

// Antwoord 2

System.out.println("Het antwoord is: ");

System.out.println("22 * 4 = " + mk.vermenigvuldig(22,4));

// Antwoord 3

System.out.println("9 * 12 = " + mk.vermenigvuldig(9,12));

System.out.println("41 * 11 = " + mk.vermenigvuldig(41,11));

} }

Quiz 3

public class MijnKlasse {

int i = 3;

int i2 = 8;

public MijnKlasse() {

i += 4;

i2 += 2;

}

public void print() {

int x = i + i2;

System.out.print(x);

}

// Antwoord 1

double berekenNettoSalaris(double brutoSalaris, double belastingtarief) {

double belastingBedrag = brutoSalaris * belastingtarief;

double nettoSalaris = brutoSalaris - belastingBedrag;

return nettoSalaris;

}

(39)

7 Methoden 33

public static void main(String[] args) {

MijnKlasse mk = new MijnKlasse();

//mk.print();

// Antwoord 2

System.out.println("Nettosalaris berekenen belastingtarief = 20%: ");

System.out.println("Van €3000 is €" + mk.berekenNettoSalaris(3000,0.20));

System.out.println("Van €2400 is €" + mk.berekenNettoSalaris(2400,0.20));

System.out.println("Van €1466 is €" + mk.berekenNettoSalaris(1466,0.20));

System.out.println("Nettosalaris berekenen belastingtarief = 30%: ");

System.out.println("Van €3000 is €" + mk.berekenNettoSalaris(3000,0.30));

System.out.println("Van €2400 is €" + mk.berekenNettoSalaris(2400,0.30));

System.out.println("Van €1466 is €" + mk.berekenNettoSalaris(1466,0.30));

} }

Quiz 4

public class MijnKlasse {

int x = 2;

public void print() {

for(int i = 0; i <= 3; i ++ ) {

if(i < 2) { x ++ ; } else { x += 2;

} }

System.out.print(x);

}

// Antwoord 1,2

public int getGrootsteGetal(int x, int y) {

if(x > y) {

return x;

}

else if(y > x) {

return y;

} else {

return - 1;

} }

(40)

34 7 Methoden

public static void main(String[] args) {

MijnKlasse mk = new MijnKlasse();

// Antwoord 3

System.out.println(mk.getGrootsteGetal(57,57));

System.out.println(mk.getGrootsteGetal(49,22));

System.out.println(mk.getGrootsteGetal(7,89));

System.out.println(mk.getGrootsteGetal(0, - 3));

} }

Quiz 5

public class Valuta {

// dollarkoers

double euro = 0.907; // $1 = Є0.907 double engelsePond = 0.762; // $1 = £0.762 double zwitserseFranc = 0.986; // $1 = 0.986 CHF double chineseYuan = 6.674; // $1 = ¥6.674

double russischeRoebel = 64.459; // $1 = 64.459; RUB public void omrekenenNaarDollar(char valuta, int bedrag) {

switch(valuta) {

case ('e'):

System.out.print(bedrag * euro);

break;

case ('p'):

System.out.print(bedrag * engelsePond);

break;

case ('f'):

System.out.print(bedrag * zwitserseFranc);

break;

case ('y'):

System.out.print(bedrag * chineseYuan);

break;

case ('r'):

System.out.print(bedrag * russischeRoebel);

break;

default:

System.out.print("Ongeldig");

} }

// Antwoord 1

public double euroNaarYuan(double bedragEuro) {

double chineseYuan = bedragEuro * (6.674 / 0.907);

return chineseYuan;

}

(41)

7 Methoden 35

public static void main(String[] args) {

Valuta val = new Valuta();

// val.omrekenenNaarDollar('y',100);

// Antwoord 2, 3

System.out.println("Є100 = ¥" + val.euroNaarYuan(100));

System.out.println("Є220 = ¥" + val.euroNaarYuan(220));

System.out.println("Є300 = ¥" + val.euroNaarYuan(300));

System.out.println("Є2 = ¥" + val.euroNaarYuan(2));

} }

Antwoord

 1 = € 0.907

 1 =  6.674

€ 0.907 =  6.674

€ 1 =  (6.674/0.907)

Quiz 6

public class MijnKlasse {

public void mijnMethode(int x, int y) {

int z = 4;

int i = 3;

i ++ ; if(x < y) { z += 4;

}

if(x * x > y) {

z += 2;

} else { z += 6;

} z ++ ;

System.out.print(z);

}

// Antwoord 1

public int getKleinsteGetal(int w, int x, int y) {

int kleinste = 0;

if(w < x && w < y) {

kleinste = w;

}

(42)

36 7 Methoden

else if(x < w && x < y) {

kleinste = x;

}

else if(y < w && y < x) {

kleinste = y;

} else {

kleinste = 0;

}

return kleinste;

}

public static void main(String[] args) {

MijnKlasse mk = new MijnKlasse();

//mk.mijnMethode(3,9);

// Antwoord 2, 3

System.out.println("Kleinste is: " + mk.getKleinsteGetal(78,44,33));

System.out.println("Kleinste is: " + mk.getKleinsteGetal( - 2,3,0));

System.out.println("Kleinste is: " + mk.getKleinsteGetal(55,23,123));

System.out.println("Kleinste is: " + mk.getKleinsteGetal(44,44,20));

System.out.println("Kleinste is: " + mk.getKleinsteGetal(34,34,34));

System.out.println("Kleinste is: " + mk.getKleinsteGetal(11,11,55));

} }

Opdracht hoofdstuk 6: Methode die hoeveelheid ounce goud berekent

public class Goud {

double ozGoud = 1300.00; // de prijs van een ounce goud // Antwoord 1

public double getOunce(double prijs) {

return prijs / ozGoud;

}

public static void main(String[] args) {

Goud gd = new Goud();

// Antwoord 2

System.out.println("€ 7150 = " + gd.getOunce(7150) + " oz goud");

System.out.println("€ 1300 = " + gd.getOunce(1300) + " oz goud");

System.out.println("€ 2600 = " + gd.getOunce(2600) + " oz goud");

System.out.println("€ 5525 = " + gd.getOunce(5525) + " oz goud");

} }

(43)

37

8 Strings en StringBuff ers

Quiz 1

public class Uitdrukking {

String strSpreekwoord = "De aanval is de beste verdediging.";

// Antwoord 1

String mijnStr = "Angst is een slechte raadgever.";

public void mijnMethode() {

System.out.print(strSpreekwoord.charAt(4));

System.out.print(", " + strSpreekwoord.indexOf("k"));

System.out.print(", " + strSpreekwoord.indexOf("e"));

}

public static void main(String[] args) {

Uitdrukking ut = new Uitdrukking();

//ms.mijnMethode();

// Antwoord 2

System.out.print(ut.mijnStr.charAt(7));

// Antwoord 3

System.out.print(", " + ut.mijnStr.indexOf("h"));

} }

Quiz 2

public class MijnKlasse {

String str1 = "Noah";

String str2 = new String("Noah");

public void mijnMethode() {

if(str1 == str2) {

System.out.print("X");

}

if(str1.equals(str2)) {

System.out.print("Y");

} else {

System.out.print("Z");

} }

(44)

38 8 Strings en StringBuff ers

// Antwoord 1

public boolean vergelijk(String s1, String s2) {

return s1.equals(s2);

}

public static void main(String[] args) {

MijnKlasse mk = new MijnKlasse();

//mk.mijnMethode();

// Antwoord 2

System.out.println(mk.vergelijk("France","france"));

// Antwoord 3

System.out.println(mk.vergelijk("123Str","1234Str"));

System.out.println(mk.vergelijk("Vriend","Vriend"));

} }

Quiz 3

public class MijnKlasse {

String strQuote = "We kunnen een probleem niet oplossen met de " + "denkwijze die het heeft veroorzaakt. Albert Einstein";

public void mijnMethode() {

System.out.println(strQuote.substring(23,27));

}

public static void main(String[] args) {

MijnKlasse mk = new MijnKlasse();

mk.mijnMethode();

// Antwoord 1

System.out.print(mk.strQuote.substring(81,96));

} }

Quiz 4

public class MijnKlasse {

String str = "He$llo $World$";

public void mijnMethode() {

System.out.println(str.replace("$",""));

}

// Antwoord 1

public String vervangDollarDoorEuro(String str) {

return str.replace("$","€");

}

public static void main(String[] args)

(45)

8 Strings en StringBuff ers 39

{

MijnKlasse mk = new MijnKlasse();

mk.mijnMethode();

// Antwoord 2

String str = mk.vervangDollarDoorEuro("$233, $12, $90, $62");

System.out.print(str);

} }

Quiz 5

public class MijnKlasse {

String mijnStr = " de aarde is 4,6 miljard jaar oud ";

public void mijnMethode() {

int strLength = mijnStr.length();

mijnStr = mijnStr.toUpperCase();

mijnStr = mijnStr.trim();

System.out.println(strLength + " " + mijnStr + " " + mijnStr.length());

}

// Antwoord 1

public String max40Tekens(String str) {

if(str.length() <= 40) {

return str;

} else {

return str.substring(0,40);

} }

public static void main(String[] args) {

MijnKlasse mk = new MijnKlasse();

mk.mijnMethode();

// Antwoord 2a String q1,q2,q3;

q1 = "Alles wat we zijn is het resultaat van wat we dachten";

q2 = "Logica brengt je van A naar B, verbeelding brengt je overal";

q3 = "Voorkomen is beter dan genezen";

String tekst1 = mk.max40Tekens(q1);

String tekst2 = mk.max40Tekens(q2);

String tekst3 = mk.max40Tekens(q3);

// Antwoord 2b

System.out.println(tekst1);

System.out.println(tekst2);

System.out.println(tekst3);

} }

(46)

40 8 Strings en StringBuff ers

Het programma schrijft het volgende naar de standaarduitvoer.

34 DE AARDE IS 4,6 MILJARD JAAR OUD 32 Alles wat we zijn is het resultaat van w Logica brengt je van A naar B, verbeeldi Voorkomen is beter dan genezen

Quiz 6

public class MijnKlasse {

StringBuffer sb = new StringBuffer();

StringBuffer sb2 = new StringBuffer("Eva");

public void mijnMethode() {

sb.append("Sam ");

sb2.append(" Lucas");

sb.append(22);

// Antwoord 1 sb.append(" muziek");

// Antwoord 2 sb2.append(" 2000");

System.out.print(sb + ", " + sb2);

}

public static void main(String[] args) {

MijnKlasse mk = new MijnKlasse();

mk.mijnMethode();

} }

Quiz 7

public class MijnKlasse {

StringBuffer sb = new StringBuffer("Hij is vriend.");

// Antwoord 1

StringBuffer sb2 = new StringBuffer("Hij komt uit,,, India");

public void mijnMethode() {

// de code hier invoegen System.out.print(sb);

}

public static void main(String[] args) {

MijnKlasse mk = new MijnKlasse();

MijnKlasse mk2 = new MijnKlasse();

//mk.mijnMethode();

// Antwoord 2

System.out.println(mk.sb2.delete(12,15));

} }

(47)

8 Strings en StringBuff ers 41

Quiz 8

public class MijnKlasse {

StringBuffer sb = new StringBuffer("Hij was haar vriend");

public void mijnMethode() {

// de code hier invoegen System.out.print(sb);

}

// Antwoord 1

public String converteerSbNaarString(StringBuffer sb) {

return sb.toString();

}

public static void main(String[] args) {

MijnKlasse mk = new MijnKlasse();

//mk.mijnMethode();

// Antwoord 2

String strSb = mk.converteerSbNaarString(mk.sb);

System.out.print(strSb);

} }

Opdracht hoofdstuk 7: De methoden van de String-klasse van Java standaard-API

public class TekstManipulatie {

public void stringDemo() {

String tekst = "Brazilië$ is een$ groot$ lan$d in Zuid$-Amerika.";

System.out.println("Hoofdletters: " + tekst.toUpperCase());

System.out.println("Kleine letters: " + tekst.toLowerCase());

System.out.println("Aantal tekens: " + tekst.length());

System.out.println("Verwijder $: " + tekst.replace("$",""));

System.out.println("Verwijder eerste 10: " + tekst.substring(10));

System.out.println("Keert groot terug: " + tekst.substring(18,23));

System.out.println("Eerste $ symbool: " + tekst.indexOf("$"));

System.out.println("Laatste $ symbool: " + tekst.lastIndexOf("$"));

System.out.println(tekst.replace("Brazilië","Argentinië"));

}

public static void main(String[] args) {

TekstManipulatie tmObject = new TekstManipulatie();

tmObject.stringDemo();

} }

(48)

42

9 Packages en toegangsrechten

Quiz 1

package tools.qz01; public class KlasseB {

public int w = 1;

protected int x = 2;

int y = 3;

private int z = 4;

// Antwoord 1

private char mijnChar;

}

package tools.qz01; public class KlasseA {

public static void main(String[] args) {

KlasseB kb = new KlasseB();

//System.out.print(kb.w); /* 1 */

//System.out.print(kb.x); /* 2 */

//System.out.print(kb.y); /* 3 */

//System.out.print(kb.z); /* 4 */

// Antwoord 2

System.out.print(kb.mijnChar);

} }

Quiz 2

package tools.package_02; public class KlasseB {

public int w = 1;

protected int x = 2;

int y = 3;

private int z = 4;

// Answer 1

public int mijnInt;

}

package tools.package_01;

(49)

9 Packages en toegangsrechten 43

import tools.package_02.KlasseB; public class KlasseA

{

public static void main(String[] args) {

KlasseB kb = new KlasseB();

//System.out.print(kb.w); /* 1 */

//System.out.print(kb.mijnInt);

//System.out.print(kb.x); /* 2 */

//System.out.print(kb.y); /* 3 */

//System.out.print(kb.z); /* 4 */

// Answer 2

System.out.print(kb.mijnInt);

} }

Antwoorden

3 In de eerste quiz zaten de klassen A en B in hetzelfde package, daarom had het

kb

- object toegang tot de

public

,

protected

en

package

(default) variabelen.

In deze quiz zitten klasse A en klasse B in twee verschillende packages, daarom heeft het

kb

-object alleen toegang tot de

public

variabele.

Quiz 3

package tools.package_02; public class KlasseB {

public int w = 1;

public int x = 2;

public int y = 3;

public int z = 4;

public void mijnMethode() {

System.out.print(w);

System.out.print(x);

System.out.print(y);

System.out.print(z);

} }

package tools.package_01; import tools.package_02.KlasseB; public class KlasseA

{

public static void main(String[] args) {

KlasseB kb = new KlasseB();

kb.mijnMethode();

(50)

44 9 Packages en toegangsrechten

System.out.println();

System.out.print(kb.w);

System.out.print(kb.x);

System.out.print(kb.y);

System.out.print(kb.z);

} }

Antwoord

KlasseB

wordt onzichtbaar, omdat de klassen A en B in twee verschillende packages zitten.

Opdracht hoofdstuk 8: De klassen Datum en Student in verschillende packages

package opdracht.kalender; public class Datum

{

private int dag = 16;

private int maand = 3;

private int jaar = 1998;

public Datum(int dag, int maand, int jaar) {

this.dag = dag;

this.maand = maand;

this.jaar = jaar;

}

public String datumFormaat() {

return dag + "-" + maand + "-" + jaar;

} }

package opdracht.gegevens; import opdracht.kalender.Datum; public class Student

{

private String naam;

private Datum geboortedatum;

public static void main(String[] args) {

Student st1 = new Student();

Student st2 = new Student();

Datum gdSt1 = new Datum(28,8,1998);

Datum gdSt2 = new Datum(13,9,1996);

st1.naam = "Emma";

(51)

9 Packages en toegangsrechten 45

st1.geboortedatum = gdSt1;

st2.naam = "David";

st2.geboortedatum = gdSt2;

System.out.println("---Eerste Student---");

System.out.println("Naam: " + st1.naam);

System.out.println("Geboortedatum: " + st1.geboortedatum.datumFormaat());

System.out.println("---Tweede Student---");

System.out.println("Naam: " + st2.naam);

System.out.println("Geboortedatum: " + st2.geboortedatum.datumFormaat());

} }

(52)

46

10 Array en ArrayList

Quiz 1

public class MijnArray {

public static void main(String[] args) {

// Antwoord

int[] arrayInt = new int[11];

for(int i = 0; i < arrayInt.length; i ++ ) {

System.out.print(arrayInt[i] + " ");

} } }

Antwoord

Het getal

11

representeert de lengte of de grootte van de

arrayInt

, daarom schrijft het programma 11 nullen naar de standaarduitvoer.

Quiz 2

public class MijnArray {

public static void main(String[] args) {

int[] arr = new int[5];

arr[0] = 3;

arr[1] = 7;

arr[4] = 3;

arr[3] = 1;

arr[1] = 8;

for(int i = 0; i < arr.length; i ++ ) {

// Antwoord 1 if(arr[i] >= 3) {

System.out.print(arr[i] + " ");

} } } }

(53)

10 Array en ArrayList 47

Quiz 3

import java.util.Arrays;

public class Dier {

public static void main(String[] args) {

// Antwoord 2

String[] arrDier = new String[8];

arrDier[0] = "Wolf ";

arrDier[1] = "Leeuw ";

arrDier[2] = "Luipaard ";

arrDier[3] = "Olifant ";

arrDier[4] = "Tijger ";

// Antwoord 1 arrDier[5] = "Beer ";

arrDier[6] = "Zebra ";

arrDier[7] = "Aap ";

// Zie de klasse "Arrays" van de Java standaard API Arrays.sort(arrDier);

// Antwoord 3

for(int i = 0; i < arrDier.length; i ++ ) {

System.out.println(arrDier[i]);

} } }

Antwoord

2 De lengte van de array is

5

, daarom is er geen ruimte om meer elementen toe te voegen aan de array. Om dat mogelijk te maken, moet je de lengte van de array vergroten van

5

naar

8

.

Quiz 4

import java.util.Arrays;

public class MijnArray {

public static void main(String[] args) {

char[] arrCharA = new char[4];

arrCharA[0] = 'g';

arrCharA[1] = 'h';

arrCharA[2] = 'e';

arrCharA[3] = 'f';

// zie de klasse "Arrays" van de Java standaard API char[] arrCharB = Arrays.copyOf(arrCharA,arrCharA.length);

Arrays.sort(arrCharA);

//System.out.print(arrCharA[2]);

//System.out.print(arrCharB[3]);

(54)

48 10 Array en ArrayList

// Antwoord 1

int[] arrayInt = new int[5];

arrayInt[0] = 3;

arrayInt[1] = 4;

arrayInt[2] = 2;

arrayInt[3] = 7;

arrayInt[4] = 9;

// Antwoord 2

for(int i = 0; i < arrayInt.length; i ++ ) {

System.out.println(arrayInt[i]);

} } }

Quiz 5

import java.util.Arrays;

public class MijnArray {

public static void main(String[] args) {

char[] arrCharA = new char[4];

arrCharA[0] = 'w';

arrCharA[1] = 'k';

arrCharA[2] = 'd';

arrCharA[3] = 'r';

char[] arrCharB = Arrays.copyOf(arrCharA,arrCharA.length);

// de index van het element 'k'

int i = Arrays.binarySearch(arrCharA,'k');

// controleert of de twee arrays gelijk zijn boolean b = Arrays.equals(arrCharA,arrCharB);

//System.out.print(i + " " + b);

// Antwoord 1

char[] arrayChar = new char[8];

arrayChar[0] = 'R';

arrayChar[1] = 'N';

arrayChar[2] = 'B';

arrayChar[3] = 'S';

arrayChar[4] = 'M';

arrayChar[5] = 'O';

arrayChar[6] = 'A';

arrayChar[7] = 'C';

// Antwoord 2

boolean isEqual = Arrays.equals(arrayChar,arrCharA);

System.out.println("Zijn ze glijk? " + isEqual);

// Antwoord 3

Arrays.sort(arrayChar);

(55)

10 Array en ArrayList 49

// Antwoord 4

for(int x = 0; x < arrayChar.length; x ++ ) {

System.out.print(arrayChar[x] + ", ");

} } } }

Quiz 6

public class Mijnklasse {

void myMethod() {

// Antwoord 1

String strArray[] = {"n","b","a","z"};

for(int i = 0; i < strArray.length; i ++ ) {

if(strArray[i].equals("z")) {

System.out.print("x1 ");

}

else if(strArray[i].equals("a")) {

System.out.print("x2 ");

}

else if(strArray[i].equals("b")) {

System.out.print("x2 ");

} else {

System.out.print("x3 ");

} } }

public static void main(String[] args) {

Mijnklasse mk = new Mijnklasse();

mk.myMethod();

} }

Quiz 7

import java.util.ArrayList;

public class LijstVanLanden {

public static void main(String[] args)

(56)

50 10 Array en ArrayList

{

ArrayList<String> landen = new ArrayList<String>();

landen.add("Duitsland");

landen.add("Verenigde Staten");

landen.add("Rusland");

landen.add("Verenigd Koninkrijk");

landen.add(2,"India");

System.out.println("");

System.out.println("Voor het verwijderen van Duitsland");

for(int i = 0; i < landen.size(); i ++ ) {

System.out.print(" " + landen.get(i));

}

System.out.println("");

System.out.println("");

System.out.println("--- Landen ---");

System.out.println("Is de lijst leeg? " + landen.isEmpty());

System.out.println("Spanje: " + landen.contains("Spanje"));

System.out.println("India: " + landen.contains("India"));

System.out.println("Rusland index: " + landen.indexOf("Rusland"));

System.out.println("Aantal landen: " + landen.size());

// Duitsland is het eerste land op de lijst (index = 0) landen.remove(0);

System.out.println("");

System.out.println("Na het verwijderen van Duitsland");

for(int i = 0; i < landen.size(); i ++ ) {

System.out.print(" " + landen.get(i));

} } }

Quiz 8

public class Student {

String naam;

int leeftijd;

String email;

public Student(String naam, int leeftijd, String email) {

this.naam = naam;

this.leeftijd = leeftijd;

this.email = email;

} }

import java.util.ArrayList;

public class College {

private ArrayList<Student> studentenlijst = new ArrayList<Student>();

(57)

10 Array en ArrayList 51

public void studentToevoegen() {

Student st1 = new Student("Lars",24,"lars@itmail.com");

Student st2 = new Student("Isa ",22,"isa@dzork.com");

Student st3 = new Student("Thomas",33,"thomas@ysmail.com");

Student st4 = new Student("Susan",25,"susan@rzmail.com");

Student st5 = new Student("Rita",28,"rita@online.com");

studentenlijst.add(st1);

studentenlijst.add(st2);

studentenlijst.add(st3);

studentenlijst.add(st4);

studentenlijst.add(st5);

}

public static void main(String[] args) {

College cl = new College();

cl.studentToevoegen();

for(int i = 0; i < cl.studentenlijst.size(); i ++ ) {

System.out.println(cl.studentenlijst.get(i).naam + ", "

+ cl.studentenlijst.get(i).leeftijd + ", "

+ cl.studentenlijst.get(i).email);

} } }

Opdracht hoofdstuk 9: Artikelen aan een winkelwagen toevoegen

public class Artikel {

String naam;

double prijs;

public Artikel(String naam, double prijs) {

this.naam = naam;

this.prijs = prijs;

} }

import java.util.ArrayList;

public class Winkelwagen {

private ArrayList<Artikel> artikelen = new ArrayList<Artikel>();

public void printArtikelen() {

for(int i = 0; i < artikelen.size(); i ++ ) {

int artikelId = i + 1;

(58)

52 10 Array en ArrayList

System.out.println("Artikel" + artikelId + ": "

+ artikelen.get(i).naam

+ ", Prijs: € " + artikelen.get(i).prijs);

} }

public static void main(String[] args) {

Artikel artikel = new Artikel("Overhemd ",20.39);

Artikel artikel2 = new Artikel("Broek",32.85);

Artikel artikel3 = new Artikel("Sokken",11.25);

Artikel artikel4 = new Artikel("Jas ",120.65);

Winkelwagen sc = new Winkelwagen();

sc.artikels.add(artikel);

sc.artikels.add(artikel2);

sc.artikels.add(artikel3);

sc.artikels.add(artikel4);

sc.printArtikelen();

} }

Referenties

GERELATEERDE DOCUMENTEN

array of derivative’s

4.4 Hypothesis What effect does training of health workers/ educators of an NGO in the integration of Life Skills and HIV/AIDS into the Life Orientation Curriculum have on the

Er bestaan diverse bronnen van afleiding. Ze kunnen op verschillende manieren worden ingedeeld. Om de belangrijkste onderzoeksresultaten op het gebied van afleiding overzichtelijk

Wanneer Nederland voor een indicator een trend heeft die zich beweegt in de richting die wordt geassocieerd met een daling van de brede welvaart en binnen Europa een positie in

in de praktijk gemakkelijk kan worden aangepast. is voor het gesignaleerde probleem. Afhankelijk van het antwoord op deze vraag en van zijn diagnose zal de

Rarer complications such as appendiceal stump abscess, haemorrhage after slippage of appendiceal vessel ligatures,6 rectal haemorrhage,7 intussusception of the appendiceal

KWANTITATIEVE METHODEN INTENTIE Kwantitatieve Methoden wil een snel, informed communicatiemiddel zijn voor arti- kelen en korte notities die relevant zijn voor de toepassing

Vind, voor de basis die je gekozen hebt, de matrixvoorstelling van een permutatie van orde twee (een spiegeling als je denkt in termen van symmetrie¨ en van een gelijkzijdige