Java 我怎样才能成为一个好的迭代器

Java 我怎样才能成为一个好的迭代器,java,iterator,Java,Iterator,有人知道这个代码吗?问题出在哪里 import java.util.Iterator; import java.util.NoSuchElementException; public class AlbumIterator implements Iterator<Fotoablum>{ Fotoalbum album; Foto aktuell; public AlbumIterator(Fotoalbum album){ this

有人知道这个代码吗?问题出在哪里

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迭代器的家庭作业。我尝试了很多次,但仍然是错误的,我如何使它工作,我需要一个主函数吗?

一个使用流的更简单的解决方案 您可以省去麻烦,从流中创建一个:

迭代器= Stream.iterate album.erstesFoto, f->f.getNächstes!=无效的 f->f.getNächstes .迭代器; 您的具体编译问题
同样的输入错误,这次是局部变量。

大多数现代Java IDE都可以自动修复您收到的错误消息。似乎有输入错误。Fotoablum应该是Fotoalbum,而this.ablum应该是this.album。确保你确实阅读了错误信息并进行了研究,这比在这里询问要快得多。没有@LukasEder,但错误的第一步提到第一步是检查打字错误,因此阅读和研究可能会找到解决方案。注意第三行和第四行,如果你使用IDE之类的IntelliJ IDEA,就可以避免这种类型的错误。事实上,当你的答案只有建议时,我投了反对票。我想你当时已经在宽限期内编辑过了,所以很不幸,我不能撤回我的投票,因为答案在技术上还没有被编辑过。如果可以的话,我很乐意收回。我们不允许使用Stream来解决这个问题,但谢谢
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