如何在使用for-each循环时在列表中包含每个文件名的索引
问题描述:
我正在进行挑战练习,而我正在使用bluej。在这里,你有我与挣扎的代码:如何在使用for-each循环时在列表中包含每个文件名的索引
public void listAllfiles()
{
for(String filename : files) {
System.out.println(filename);
}
}
我应该通过包括在列表中的每个文件名的索引,当我打印,以提高这种方法。经过无数次的尝试,我似乎陷入了困境。我知道我在方法中需要一个“position”的局部变量,并且在for-each循环内需要一个语句来更新它的值。我只是无法做到。
答
难道是这样简单:
int count = 0;
for(String filename : files) {
System.out.println(String.format("files[%s]: %s", count++, filename));
}
答
这将是最好从增强每个循环for(... : ...)
改变for循环定期编入索引的循环for(...; ...; ...)
:
(请注意, intellij的想法有一个重构为此,只需将光标放在标记for
上并点击灯泡,然后选择:“替换'为'循环索引'的每个'循环',但我怀疑bluej是有用的,所以你必须手动做)
假设files
是一个数组:
for(int i = 0; i < files.length; i++){
System.out.println(i + ": " + files[i]);
}
+0
这对你有帮助吗?请注意或接受有用的建议。 – weston
什么类型是'files'? – weston