【发布时间】:2021-08-17 07:38:09
【问题描述】:
有人知道这段代码,问题出在哪里
import java.util.Iterator;
import java.util.NoSuchElementException;
public class AlbumIterator implements Iterator<Fotoablum>{
Fotoalbum album;
Foto aktuell;
public AlbumIterator(Fotoalbum album){
this.album=album;
this.aktuell=aktuell;
}
public boolean hasNext(){
if(this.aktuell == null){
return true;
}else{
return this.aktuell.getNächstes() != null;
}
}
public Foto next(){
if(this.aktuell == null){
this.aktuell = this.ablum.erstesFoto;
return this.aktuell;
}
if(this.aktuell.getNächstes() == null){
throw new NoSuchElementException("Keine weiteren Elemente vorhanden");
}else{
this.aktuell = this.aktuell.getNächstes();
return this.aktuell;
}
}
public void remove() {
throw new UnsupportedOperationException("Diese Aktion wird nicht unterstützt.");
}
public static void main(String[] args){
return;
}
}
错误信息
AlbumIterator.java:5: error: cannot find symbol
public class AlbumIterator implements Iterator<Fotoablum>{
^
symbol: class Fotoablum
AlbumIterator.java:22: error: cannot find symbol
this.aktuell = this.ablum.erstesFoto;
^
symbol: variable ablum
这是一个关于java迭代器的作业。试了很多次,还是错了,怎么弄,需要main函数吗?
【问题讨论】:
-
大多数现代 Java IDE 可以自动修复您收到的错误消息。
-
好像有错别字。
Fotoablum应该是Fotoalbum。 -
而
this.ablum应该是this.album。确保您确实阅读了错误消息并进行了研究,这比在这里询问要快得多。 -
没有@LukasEder,但错误中的第一个result 提到检查错字是第一步,因此阅读和研究可能会找到解决方案。
-
看第三行和第四行,单词替换错误的地方更多,你可以通过使用像IntelliJ IDEA这样的IDE来避免这种类型的错误。