Hallo,
bin bei einer Aufgabe und krieg den Rückgabewert nicht raus.
Hat einer vlt ne Ahnung wie?
Hier die Aufgabe
bin bei einer Aufgabe und krieg den Rückgabewert nicht raus.
Hat einer vlt ne Ahnung wie?
Hier die Aufgabe
Erstellen Sie eine neue Klasse IntegerArrayIterator.java, die das Interface
Iterator<Integer> implementiert. Die Klasse soll die Möglichkeit bieten, über
ein Array von Integer-Werten zu iterieren, um auf alle Elemente des Arrays nach
und nach zugreifen zu können. Objekte der Klasse sollen mit einem Konstruktor
IntegerArrayIterator(int[] array) erzeugt werden konnen. Um das Interface
Iterator<Integer> zu realisieren, muss die Klasse folgende Methoden aufweisen:
public boolean hasNext(): Diese Methode soll anhand des Attributs index
uberprufen, ob der nachste Index noch im Array liegt. Ist dies der Fall, so soll
"true\ zuruckgegeben werden. Sonst soll "false\ zuruckgegeben werden.
public Integer next(): Diese Methode soll den internen index um eins erhohen
und den nachsten Wert zuruckgeben.
public void remove(): Diese Methode soll den aktuellen Wert aus dem Array
entfernen. Dazu muss ein neues Array angelegt werden, das um ein Element kurzer
ist. Dann mussen alle Elemente des alten Arrays bis auf das aktuelle, das von der
Variable index angezeigt wird, in das neue Array umgezogen werden.
Implementieren Sie zum Testen ihrer Klasse eine Methode public static void
main(String[] args), die eine neue Instanz des IntegerArrayIterator mit denWerten
f1, 3, 3, 7g erzeugt. Danach soll mittels einer while-Schleife uber das Objekt
iteriert werden und jedes Element mittels System.out.println() ausgegeben werden.
Java:
public class IntegerArrayIterator {
public int[] kontrolle = new int[] {};
public int index = -1;
public boolean hasNext(int test) {
int len = this.kontrolle.length;
if (len > test)
return true;
else
return false;
}
public int next() {
index++;
return index;
}
public void remove() {
int a = 0;
while (a < kontrolle.length) {
if (a != index) {
kontrolle[a] = kontrolle[a];
}
a++;
}
}
public static int main(String[] args) {
int Wert = 0;
int[] felder = new int[] { 1, 3, 3, 7 };
IntegerArrayIterator a = new IntegerArrayIterator();
a.kontrolle = felder;
while (a.hasNext(Wert) == true) {
try {
Wert = a.next();
System.out.println(a.kontrolle[Wert]);
a.remove();
} catch (Exception sle) {
return 0;
}
}
}
}