Доброго времени суток, господа.
Задачу решил буквально переменой мест слагаемых, объясните пожалуйста логику, почему при перемене места строк 18 и 19
i = Integer.parseInt(suka.readLine());
s = s+1;
меняется результат?
BTW
Даже при перемене этих строк работает корректно, но ругается на условие "После ввода -1 программа должна корректно завершить работу.", что я упускаю?
package com.javarush.task.task05.task0507;
/*
Среднее арифметическое
*/
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Solution {
public static void main(String[] args) throws Exception {
//напишите тут ваш код
BufferedReader suka = new BufferedReader(new InputStreamReader(System.in));
float s = 0;
int i = Integer.parseInt(suka.readLine()), n = 1;
while (true){
i = Integer.parseInt(suka.readLine());
s = s+i;
n++;
if (i == -1)
break;
}
System.out.println(s / (n-1));
//BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
//float s = 0; int i = Integer.parseInt(r.readLine()), n = 1;
//for (; i != -1;) {
//s = (s + i);
//i = Integer.parseInt(r.readLine());
//n++;
// }
//System.out.println(s / (n - 1));
}
}