не могу понять почему при обычном запуске выбивает Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at com.javarush.task.task18.task1817.Solution.main(Solution.java:12) (выход индекса за границы массива) уже смотрел чужой код, там все так же как кажется
package com.javarush.task.task18.task1817;
import java.io.*;
import java.util.ArrayList;
/*
Пробелы
*/
public class Solution {
public static void main(String[] args) throws Exception {
FileInputStream fileInputStream = new FileInputStream(args[0]);
ArrayList<Character> list = new ArrayList();
double k = 0;
while (fileInputStream.available()!=0) {
list.add((char)fileInputStream.read());
}
char ch = ' ';
for (int i = 0; i<list.size(); i++) {
if (list.get(i).equals(ch)) {
k++;
}
double d = list.size()/k*100;
//double s = Integer.parseInt("%.2d", (int) d);
System.out.printf("%.2f", d);
}
}
}
Все имя файла, целиком, вместе с путемПодожди, так ты файл с форматированием используешь. Сделай txt обычный. rtfd это по сути не файл вообще, а папка. Об этом и ошибка говорит. rtf, doc и прочее - это файлы, которые содержат не только текст, но и его форматирование. Там куча всего содержится, помимо собственно текста твоего.