Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 
Вернуться
Тема: Почему при выводе через printf (java) вылезает Presentation error? В идейке все проходит хорошо.
Вывожу на том же коде через print или println - все ок, Presentation error не возникает

1
  1  Хворых Павел, 28 июня 2016 г. 15:22:50
      А еще у вас код неправильный.
double g = (100 - b) / b;
Вы делите целое число на целое. Деление, разумеется, происходит нацело. То, что вы присваиваете результат double абсолютно ничего не меняет. Чтобы деление произошло правильно, хотя бы один из аргументов должен иметь тип double.
В следующей строке та же проблема.
  2  Хворых Павел, 28 июня 2016 г. 15:19:48
      Потому что %f выводит число с запятой, а надо с точкой, очевидно же.
  3  ХанС, 28 июня 2016 г. 14:58:25
      Сам код
import java.io.*;
import java.util.*;

public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
PrintWriter out = new PrintWriter(System.out);
int a = in.nextInt();
int b = in.nextInt();
if (b==0){
out.print(a);}
else {
double g = (100 - b) / b;
double k = 100 / b;
double v = a * k;
double z = (k * v) / (k * g + v);
out.printf("%.10f", z);
}
out.flush();

}
}
1

Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!

Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru