Java Quizmaster voor beginners
Java Quizmaster voor beginners
Docentenhandleiding Sar Maroof
Brinkman Uitgeverij · Amsterdam · 2018
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
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
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
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,
auto2en
auto3te weten, moeten we de attri-
buutkleur van het type
Stringtoevoegen aan de de klasse
Auto; zie verder de code.
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”);
} }
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
truezijn en de waarde
falsewordt gebruikt voor niet-buitenlanders.
2 Om onnodig werk te vermijden moet de variabele
isBuitenlanderstandaard
truezijn. 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’;
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.98is een fl oating point type, daarom moet hij van het type
doubleof
floatzijn.
2 De waarde
gis een karaktertype, daarom moet hij van het type
charzijn.
3 De waarde
766is een geheel getal, daarom moet hij van het type
short,
intof
longzijn.
Quiz 4
public class MijnKlasse {
int i1 = 7;
int i2 = 12;
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 = 9staat onder het statement dat
i1declareert en haar waarde initialiseert, daarom is de waarde van i1 = i1 - 3 = 9 - 3 = 6.
Het statement
i2 = 8staat onder het statement dat
i2declareert en haar waarde initialiseert. De nieuwe waarde van
i2is dus
8.
i2 = i2 + i1 = 8 + 6 = 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);
} }
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
xwordt verhoogd met
1voor het schrijven van de waarde naar de standaarduitvoer.
2 De code schrijft de waarde van
xeerst naar de standaarduitvoer, dan wordt de waarde van
xverhoogd 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)
10 3 Operatoren
{
System.out.print("R");
} } }
Antwoorden
Door het toewijzen van de waarde
15aan de variabele
xlevert het statement
if(x == z)onwaar
(
false) op, maar het statement
if(x >= y)levert op
waar(
true).
Het resultaat is dat
OZRwordt 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
isDefectfalseis, levert het laatste statement
if(! isDefect)waar(
true) op. Het programma schrijft ook
Pnaar de standaarduitvoer.
2 Als
xgelijk is aan
1, geeft het statement
if(x < y && x > 1)onwaarals resultaat. In dit geval wordt
Nniet geschreven naar de standaarduitvoer.
Quiz 6
public class MijnKlasse {
public static void main(String[] args) {
boolean isOud = true;
int x = 5;
int y = 14;
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
onwaaris.
In dit geval wordt het blok genegeerd en
Rwordt niet geschreven naar de stan- daarduitvoer.
Als
zgelijk is aan
17, levert het statement
if(y > x && z > y && (x + 12) >= z)waarop. De reden hiervoor is dat alle operanden
waaropleveren.
De eerste operand
y > xis
waar, de tweede operand
z > yis
waar, en de derde ope- rand
(x + 12) >= zis ook
waar. Als het blok is uitgevoerd, wordt
Pgeschreven naar de standaarduitvoer.
Als
zgelijk is aan
17, levert het statement
if(x >= 6 || z <= y || z <= 18)waarop.
De reden is dat de operand
z <= 18waaris.
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;
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);
} }
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)
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');
} } }
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");
}
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;
}
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 + ", ");
}
18 4 Conditionele statements
x += 3;
}
System.out.print("x" + x);
} }
Antwoord
Dit programma schrijft
x4, x10, x17, x20naar 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 +=4vermeerdert de waarde van
xmet
4: x = 11 + 4 = 15.
2 Als je een
break-statement onder het statement
x += 2invoegt, wordt case 9 gene- geerd. Het programma schrijft in dit geval
10naar de standaarduitvoer.
Quiz 9
public class Jaar {
public static void main(String[] args) {
int intMaand = 9;
String strMaand;
switch(intMaand)
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';
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 ");
} } }
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
waarop, omdat de variabele
ialtijd groter dan
1blijft.
Quiz 3
public class MijnLoop {
public static void main(String[] args) {
int i = 4;
do
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
onwaarop 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);
} } }
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;
}
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)
5 Iteratie (loop) statements 25
{
break inner;
}
System.out.print(row + "," + kol + " ");
} } } }
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);
} }
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);
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;
}
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);
} }
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);
} }
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;
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;
}
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;
} }
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;
}
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;
}
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");
} }
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");
} }
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)
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);
} }
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));
} }
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();
} }
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;
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,
protecteden
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
publicvariabele.
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();
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";
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());
} }
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
11representeert 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] + " ");
} } } }
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
5naar
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]);
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);
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)
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>();
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;
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();
} }