当前位置: 首页 > 知识库问答 >
问题:

我怎样才能做一个好的迭代器

雷骁
2023-03-14
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

共有1个答案

司徒高丽
2023-03-14

您可以省去麻烦,从中创建一个:

Iterator<Foto> it =
Stream.iterate(
         album.erstesFoto, 
         f -> f.getNächstes() != null, 
         f -> f.getNächstes())
      .iterator();
AlbumIterator.java:5: error: cannot find symbol
public class AlbumIterator implements Iterator<Fotoablum>{
                                               ^
  symbol: class Fotoablum

我的german-fu表示您的类名中有一个错误,但您的意思是无论如何都要迭代foto,而不是fotoalbum

AlbumIterator.java:22: error: cannot find symbol
            this.aktuell = this.ablum.erstesFoto;
                               ^
  symbol: variable ablum

同样的错误,这次是局部变量。

 类似资料:
  • 我如何让Python完成这项任务? 每10秒,X次?

  • 我有一个用户模型和一个学生模型,我已经为它们建立了关系,但是当我尝试 $学生- 我得到这个错误 “正在尝试获取非对象的属性全名” 以下是我的用户模型代码: 这是我的学生模型代码 即使我试图利用这种关系来获取数据,比如 “学生id”= 我得到这个错误 “对未定义方法Illumb\Database\Eloquent\Relations\BelongsTo::id()的BadMethodCallExce

  • 我有“下载正在进行文件”对话框活动。当用户按下“隐藏”按钮时,活动将创建通知和隐藏进度对话框。并且当用户单击到通知时,活动显示进度对话框再次出现在活动中。我如何在按下按钮“后退”时切换活动到后退任务?

  • 有什么方法可以简化这段代码吗?我正好有一个白色的一块,想要得到它的位置 代码: 瓦片类: 件类:

  • 我有一小段Java密码。我想用一种更有建设性的方式和更优雅的方式重写下面的代码。我怎样才能实现它? 非常感谢您的帮助

  • 所以我有一个形式为X的矩阵,我试着读两个对角线,我读第一个,但我读第二个对角线很吃力。 为了前任。如果我给出数字2,3,4,它会输出矩阵: 2 0 0 0 3 0 0 0 4 但在这种情况下,我需要读其他对角线,但只读边中的数字,因为我已经读过数字3了。 这种情况只是当矩阵的大小是奇数时,但我也需要帮助,当它是奇数时,即使认为它会更容易,因为你只需要阅读两个对角线而不关心中间元素。 这是我到现在为