【问题标题】:How to include the index of each file name in the listing when using a for-each loop使用 for-each 循环时如何在列表中包含每个文件名的索引
【发布时间】:2017-02-16 10:31:12
【问题描述】:

我正在使用 bluej 进行挑战练习。这里有我正在努力的代码:

public void listAllfiles()
{
    for(String filename : files) {
        System.out.println(filename);
    }
}

我应该通过在打印时在列表中包含每个文件名的索引来改进此方法。在多次尝试正确之后,我似乎陷入了困境。我知道我需要方法中的“位置”局部变量,以及在 for-each 循环内将其值更新为 1 的语句。我就是搞不定。

【问题讨论】:

  • files是什么类型?

标签: java bluej


【解决方案1】:

可以这么简单吗:

int count = 0;
for(String filename : files) {
    System.out.println(String.format("files[%s]: %s", count++, filename));
}

【讨论】:

    【解决方案2】:

    最好将 for 循环从增强的 for each 循环 for(... : ...) 更改为常规索引 for 循环 for(...; ...; ...)

    (请注意,intellij idea 对此进行了重构,只需将光标放在标记 for 上并单击灯泡并选择:“用索引的 'for' 循环替换 'for each' 循环”但我怀疑 bluej 是很有用,所以你必须手动完成)

    假设files 是一个数组:

    for(int i = 0; i < files.length; i++){
        System.out.println(i + ": " + files[i]);
    }
    

    【讨论】:

    • 这对您有帮助吗?请点赞或接受有用的建议。
    猜你喜欢
    • 2012-09-27
    • 1970-01-01
    • 2019-03-31
    • 2019-09-04
    • 1970-01-01
    • 1970-01-01
    • 2022-01-27
    • 2021-02-07
    • 1970-01-01
    相关资源
    最近更新 更多