код написал, но по моему что-то не тот,
Scanner sc = new Scanner(System.in);
int a[] = new int[4];
for (int i = 0; i < a.length; i++) {
a[i] = sc.nextInt();
}int d=0, sum=0;
for (int i = 0; i < a.length; i++) {
if (a[i] > 0) {
sum=sum+a[i];
d++;}
System.out.println(sum/d);
}
}
например в консоле ввожу 4 7 2 7 он выводит 4 5 4 5
Java
Надо найти среднее арифметическое
System.out.println(sum/d); в цикл засунул зачем-то
Так у тебя вывод результата в цикле, а не в конце программы.
Последнее число и есть правильное. 4 5 4 5. Последнее число 5. Это и есть ответ.
Но при делении int на int дробная часть отбрасывается. Например средним арифметическим между 9 9 9 8 будет 8... Это нормально?
Вот тебе твой код, чуть подправленный:
Scanner sc = new Scanner(System.in);
int a[] = new int[4];
for (int i = 0; i < a.length; i++)
a[i] = sc.nextInt();
int d = 0, sum = 0;
for (int i : a)
if (i > 0) {
sum += i;
d++;
}
System.out.println((double) sum / (double) d);
Но вот чего я не пойму... Почему среднее арифметическое ты считаешь только между целыми и только между положительными числами? -3 5 : средним будет 1. 0 4 : средним будет 2.
Так что вот тебе ещё программка, подумай над ней:
Scanner sc = new Scanner(System.in);
float sum = 0;
byte n = 0;
try {
while (true) {
sum += sc.nextFloat();
n++;
}
} catch (Exception ignored) {
System.out.println(sum / n);
}
Будет считывать любые числа, любое количество, отрицательные, положительные, ноль, дробные вводятся через запятую. Как только введёшь букву, точку, любым способом введёшь неправильное число, не число. Программа выведет среднее арифметическое.
Последнее число и есть правильное. 4 5 4 5. Последнее число 5. Это и есть ответ.
Но при делении int на int дробная часть отбрасывается. Например средним арифметическим между 9 9 9 8 будет 8... Это нормально?
Вот тебе твой код, чуть подправленный:
Scanner sc = new Scanner(System.in);
int a[] = new int[4];
for (int i = 0; i < a.length; i++)
a[i] = sc.nextInt();
int d = 0, sum = 0;
for (int i : a)
if (i > 0) {
sum += i;
d++;
}
System.out.println((double) sum / (double) d);
Но вот чего я не пойму... Почему среднее арифметическое ты считаешь только между целыми и только между положительными числами? -3 5 : средним будет 1. 0 4 : средним будет 2.
Так что вот тебе ещё программка, подумай над ней:
Scanner sc = new Scanner(System.in);
float sum = 0;
byte n = 0;
try {
while (true) {
sum += sc.nextFloat();
n++;
}
} catch (Exception ignored) {
System.out.println(sum / n);
}
Будет считывать любые числа, любое количество, отрицательные, положительные, ноль, дробные вводятся через запятую. Как только введёшь букву, точку, любым способом введёшь неправильное число, не число. Программа выведет среднее арифметическое.
Антон Чешейко
Простите конечно, что ваш ответ не выбрал лучшим, да и спасибо вам большое, что столько постарались, но ваш ответ тут и я не говорю, что это мне не пригодиться
я начинающий программист и этот ответ мне в будущем уж точно пригодиться, не сомневайтесь))
просто тот парень был прав, когда System.out. в цикле, то выводит 4 цифра, а когда закрыл цикл, потом делал System.out., тогда вывел только 1 цифру.... Мне надо было, чтобы вывел на экран только одна цифра
Спасибо вам)))
я начинающий программист и этот ответ мне в будущем уж точно пригодиться, не сомневайтесь))
просто тот парень был прав, когда System.out. в цикле, то выводит 4 цифра, а когда закрыл цикл, потом делал System.out., тогда вывел только 1 цифру.... Мне надо было, чтобы вывел на экран только одна цифра
Спасибо вам)))
Похожие вопросы
- Идти в колледж и учится ещё 3 года или уже искать работу на java с онли средним образованием?
- Помогите найти и настроить Java сервер Lineage II HF
- Какие из следующих стандартных контейнеров позволяют найти в них элемент по его значению за O(log(n))?
- Meтoд поглощения! Можете про него что-то рассказать, пожалуйста? Задание такое получил в универе. А инфы толковой не нашел.
- Где можно найти краткое обучение по использованию JFrame? Чтобы просто приводился порядок поставления и функций.
- найти неВисокосный год?
- 37 лет хочу найти работу программистом что можно сделать
- Помогите найти среднее арифметическое. Пожалуйста.
- в матрице Х (8,5) найти среднее арифметическое значение максимальных элементов в каждой строке
- Python, пользователь вводит три числа. Найдите среднее арифметическое этих чисел.
спс сработало