У меня есть текстовый файл (файл.txt). Этот файл загружается внутри сканера.Scanner.nextDouble: файл txt правильно загружен, но происходит «InputMismatchException»
В файлах есть разные строки, и в каждой строке есть два удвоения и одно целое число, деленное на пробелы.
Как это:
1.0 1.2 2
0.9 1.0 10
50.4 9.2 20
Мне нужно выполнить три массива.
Каждый массив соответствует столбцу . Что-то вроде:
double[] x = {1.0,0.9,50.4}
double[] y = {1.2,1.0,9.2}
double[] z = {2,10,20}
Я пытался этому, используя этот код:
double x[]= new double [3];
double y[]= new double [3];
double z[]= new double [3];
File f = new File(ClassLoader.getSystemResource(file.txt).toURI());
Scanner sc = new Scanner(f);
for (int i=0;j<3;i++){
x[i] = sc.nextDouble();
y[i] = sc.nextDouble();
z[i] = sc.nextDouble();
}
но когда первый nextDouble() выполняется в "неперехваченное" (java.util.InputMismatchException) исключение.
Что я делаю неправильно?
Благодарим за любые намеки.
Печать 'sc.next()' и посмотреть, что сканер пытается разобрать как двойной. – aioobe
Я пробовал. И действительно, в 4 итерациях он принимает три числа первой строки и первое число четвертой строки так точно, как и должно быть, но когда я пытаюсь сделать то же самое с nextDouble(), он терпит неудачу в Итерации FIRST – dragonmnl