Mein Programm is soweit fertig nur hat mein Iterator nicht ganz hin, hab sicherlich auch einen Denkfehler...Kann mir irgendjemand erklären, wie hier die Iterator-methoden hasnext() und getnext() gesetzten werden müssen?!
Hier meine mein Code:
hoffe es kann mir jemand helfen
Hier meine mein Code:
Java:
public class ArrayBasedStringList implements StringList {
//Instanzvariable
private String[] myStrings;
private int pointer;
private ArrayBasedStringList myArrayBasedStringList;
private StringListIterator myStringListIterator;
//Constructor
public ArrayBasedStringList(){
myStrings = new String[3];
pointer = 0;
}
//hinzufügen
public void add(String s) {
if (this.isFull() == false){
myStrings[pointer] = s;
pointer++;
}
else{
this.doubleMe();
myStrings[pointer] = s;
pointer++;
}
}
//loeschen
public void removeFirst() {
myStrings[0] = myStrings[1];
for(int i = 1; i < myStrings.length;i++){
if (myStrings[i] != null)
myStrings[i] = myStrings[i+1];
else
break;
}
pointer--;
}
//array voll?
public boolean isFull() {
if (myStrings[myStrings.length-1] != null)
return true;
else
return false;
}
//array doppelt so gross & inhalt kopieren
public void doubleMe(){
String[] temp_array = new String[myStrings.length * 2];
for(int i = 0; i < myStrings.length;i++){
temp_array[i] = myStrings[i];
}
myStrings = new String[myStrings.length * 2];
for(int i = 0; i < temp_array.length;i++){
if (temp_array[i] != null)
myStrings[i] = temp_array[i];
}
}
//Anzahl
public int nrOfElems() {
int zaehler = 0;
for(int i = 0; i < myStrings.length;i++){
if (myStrings[i] != null)
zaehler++;
else
break;
}
return zaehler;
}
//gib Iterator
public StringListIterator giveIterator() {
return new MyIterator();
}
//innere Klasse fuer Iterator
private class MyIterator implements StringListIterator {
Integer current;
MyIterator(){
current = pointer;
}
public String getNext(){ //requires hasNext
return null;
}
public boolean hasNext(){
if (myStrings[current+1] != null){
return true;
}else{ return false;
}
}
}
}
hoffe es kann mir jemand helfen
Zuletzt bearbeitet von einem Moderator: