Hilfe 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
// IntList.java
package nested;
import java.util.NoSuchElementException;
/** * IntList verwaltet ganze Zahlen als Liste. * Beispielprogramm zur Programmiertechnik 1, Teil 4. * @author H.Drachenfels * @version 22.12.2021 */
public final class IntList {
private Element head = null; // leere Liste
/** * Fügt eine Zahl am Listenanfang ein. * Der heimliche Paramter this verweist auf das Objekt des Aufrufs. * @param n die einzufügende Zahl * @return die Liste */
public IntList insert(/* final IntList this, */ int n) {
this.head = new Element(this.head, n);
return this;
}
/** * Element speichert eine einzelne Zahl als Teil einer Liste. * Beipiel für eine statisch eingebettete Klasse. */
private static final class Element {
private final Element next;
private final int n;
private Element(/* final Element this, */ Element e, int n) {
this.next = e;
this.n = n;
}
}
/** * Iterator speichert den aktuellen Zustand einer Listeniteration. * Beipiel für eine innere Klasse. */
public final class Iterator {
// private IntList IntList.this;
private Element current = IntList.this.head;
/** * prüt, ob das Listenende erreicht ist. * Der heimliche Paramter this verweist auf das Objekt des Aufrufs. * @return false, wenn das Listenende erreicht ist, sonst true. */
public boolean hasNext(/* final Iterator this */) {
return this.current != null;
}
/** * liefert die aktuelle Zahl und iteriert zum nächsten Jahr. * Aufruf am Listenende liefert NoSuchElementException. * Der heimliche Paramter this verweist auf das Objekt des Aufrufs. * @return die aktuelle Zahl */
public int next(/* final Iterator this */) {
if (this.current == null) {
throw new NoSuchElementException();
}
Element e = this.current;
this.current = this.current.next;
return e.n;
}
}
}
Title
Message
OK
Nochmal