[Ответить в тред] Ответить в тред

16/08/16 - Запущен Двач Трекер
01/08/16 - Вернули возможность создавать юзердоски
09/07/16 - Новое API для капчи - внимание разработчикам приложений


Новые доски: /obr/ - Offline Battle Rap • /hv/ - Халява в интернете • /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 5 | 1 | 3
Назад Вниз Каталог Обновить

Аноним 22/09/16 Чтв 14:51:05  136684452  
14745450661310.jpg (197Кб, 1920x1080)
в pr так и не ответили пока.
Братцы помогите
не работает, как должен пример c книги. на второй лексеме он переходит к елсу и выводит: ошибка формата файла

import java.util.;
import java.io.;


public class AvgNums {
public static void main(String args[])throws IOException {

int count=0;

double sum= 0.0;


FileWriter fout = new FileWriter("test.txt");
fout.write("2 3.4 5 6 7.4 9.1 10.5 готово");
fout.close();
FileReader fin = new FileReader("test.txt");
Scanner src = new Scanner(fin);


while(src.hasNext()) {
if(src.hasNextDouble()) {
sum += src.nextDouble();
System.out.println(sum);
count++;
}
}
if(src.hasNext()) {
String str = src.next();

if(str.equals("готово"))
{
return;
}
else {
System.out.println("Ошибка формата файла.");
return;
}
}

src.close();
System.out.println("средне равно: " +sum/count);
}
}
Аноним 22/09/16 Чтв 15:06:43  136685276
>>136684452 (OP)
Может я чего не понимаю, но первый вопрос: что у тебя там return'ы делают, у тебя же из методов только main с возвращаемым void'ом
Аноним 22/09/16 Чтв 15:19:34  136685969
>>136685276
сорри не совсем то кинул, вот как в учебнике было написано. там же и ретерн есть.
import java.util.;
import java.io.
;


class AvgNums {
public static void main(String args[])throws IOException {

int count=0;

double sum= 0.0;


FileWriter fout = new FileWriter("test.txt");
fout.write("2 3.4 5 6 7.4 9.1 10.5 готово");
fout.close();
FileReader fin = new FileReader("test.txt");
Scanner src = new Scanner(fin);


while(src.hasNext()) {
if(src.hasNextDouble()) {
sum += src.nextDouble();
count++;
}

else {
String str=src.next();
if (str.equals("готово"))break;
else {
System.out.println("ошибка формата");
return;
}
}
}
src.close();
System.out.println("средне равно: " +sum/count);
}
}
Аноним 22/09/16 Чтв 15:21:47  136686087
>>136685969
проблема то в том, что он числа с точкой не обрабатывает. и вот хз почему
Аноним 22/09/16 Чтв 15:29:00  136686449
>>136686087
Такое может быть из-за локали. Вызови у сканера useLocale и поставь бездуховную пиндосскую, там разделители точки, а в расиюшке запятые.
Аноним 22/09/16 Чтв 15:33:42  136686689
>>136686449
спасибо тебе огромное. я чуть слезу не пустил.
хм, а если оставить через запятую, а ещё разделителем поставить тоже запятую, то он опять тупить начнет?

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 5 | 1 | 3
Назад Вверх Каталог Обновить

Топ тредов
Избранное