#java #bluej
#java #bluej
Вопрос:
Я работаю над сложным упражнением, в то время как я использую bluej. Здесь у вас есть код, с которым я борюсь:
public void listAllfiles()
{
for(String filename : files) {
System.out.println(filename);
}
}
Предполагается, что я улучшу этот метод, включив индекс каждого имени файла в список при печати. Кажется, я застрял после многочисленных попыток сделать это правильно. Я знаю, что мне нужна локальная переменная «position» в методе, а также оператор для обновления его значения на единицу внутри цикла for-each. Я просто не могу понять это правильно.
Комментарии:
1. Какой тип
files
?
Ответ №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
, щелкните лампочку и выберите: «Заменить «для каждого» цикла на «индексированный»для» цикла», но я сомневаюсь, что bluej настолько полезен, поэтому вам придется делать это вручную)
Предполагается files
, что это массив:
for(int i = 0; i < files.length; i ){
System.out.println(i ": " files[i]);
}
Комментарии:
1. Помогло ли это вам? Пожалуйста, поддержите или примите полезные предложения.