Мне надо выводить числа типа double в файл, а также читать их оттуда. Однако при попытке чтения выведенных чисел у меня возникает ошибка:
Exception in thread "main" java.util.InputMismatchException
в этом фрагменте:
public HiddenNeuron(int cnt, double[] oxses) {
this.w = new double[cnt];
this.x = new double[cnt];
for (int i = 0; i < cnt; i++) {
this.x[i] = oxses[i];
this.w[i] = whi.nextDouble();
}
}
в строке this.w[i] = oxses[i];
В файл все числа выводятся через точку, т.е. 1.2345, но если заменить её на запятую (1,2345), программа работает без ошибок. Запись в файл происходит при помощи PrintWriter(FileWriter):
PrintWriter pi = new PrintWriter(new FileWriter(wf));
ph.write(String.valueOf(hilayer[i].w[j]));
Пытался через String.valueOf() и через double + "" переводить в String, но всегда выводит через точку.
Вам нужно установить настройки локали для сканнера:
Scanner sc = new Scanner(new File("file.txt"));
sc.useLocale(Locale.US);
http://www.cyberforum.ru/java-j2se/thread783127.html#post4115840
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости