Здравствуйте, когда я пытаюсь запустить этот код я получаю следующее сообщение об ошибке Я понимаю, это происходит, когда нет основной функции, однако у меня есть главная фикция ..Исключения в потоке «главный»
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at FilterAs.main(FilterAs.java:21)
Вот мой код
import java.io.*;
public class FilterAs {
public static int numberOfFiles(File directory) {
if (directory.isFile())
return(1);
else {
File[] list = directory.listFiles();
int count = 0;
if (list != null)
for (File file : list)
count += (file.isFile()) ? 1 : numberOfFiles(file);
return(count);
}
}
public static void main(String[] args) {
System.out.println(numberOfFiles(new File(args[0])));
}
}
Ну нет, это не происходит, если у вас нет основной функции или нет. Вы передаете какой-либо аргумент в командной строке при запуске вашего кода? – user2336315
Распечатайте значение args.length, и вы увидите проблему. если args не имеет записей, то индекс [0] выходит за пределы. – Scooter