Ik heb een main class die een machine class aanstuurt, die vult classes chip en doos.
Chip:
Doos:
Probleem:
De main doet 3 keer hetzelfde en iedere keer wordt de doos met de "gevulde" chip in array dozen (van het type Doos) gestopt. Maar als ik uit wil lezen gaat het grondig fout. Ik kan de adressen die op de doos opgeslagen staan uitlezen, maar zodra ik de chip (die ook in de doos is geimporteerd) wil gaan uitlezen krijg ik de volgende error:
Op regel 16 van de main staat trouwens:
Wat gaat er fout en hoe is het op te lossen?
Chip:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| public class Chip { int nummer, volgNummer; String type, adres; public Chip(String _type, int id, String adres, int volgNummer) { nummer = id; type = _type; this.adres = adres; this.volgNummer = volgNummer; } public void printChip() { System.out.println(nummer); System.out.println(type); System.out.println(volgNummer); } } |
Doos:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| public class Doos { private String adres; public Chip c, c1; public void setAdres(String adres){ this.adres = adres; } public void pakIn(Chip c){ this.c = c; } public void printDoos() { System.out.println(adres); c.printChip(); } } |
Probleem:
De main doet 3 keer hetzelfde en iedere keer wordt de doos met de "gevulde" chip in array dozen (van het type Doos) gestopt. Maar als ik uit wil lezen gaat het grondig fout. Ik kan de adressen die op de doos opgeslagen staan uitlezen, maar zodra ik de chip (die ook in de doos is geimporteerd) wil gaan uitlezen krijg ik de volgende error:
code:
1
2
3
4
| Exception in thread "main" java.lang.NullPointerException at Doos.printDoos(Doos.java:19) at Application.main(Application.java:16) Java Result: 1 |
Op regel 16 van de main staat trouwens:
Java:
1
| dozen[1].printDoos(); |
Wat gaat er fout en hoe is het op te lossen?