Вывести среднюю температуру по больнице и количество здоровых пациентов
Есть вот такой код:
public static final int PATIENTS_COUNT = 30;
public static final int MIN_TEMP = 32;
public static final int MAX_TEMP = 40;
public static final double MIN_TEMP_HEALHTY = 36.2;
public static final double MAX_TEMP_HEALHTY = 36.9;
DecimalFormat decimalFormat = new DecimalFormat("#.#");
DecimalFormatSymbols otherSymbols = new DecimalFormatSymbols();
otherSymbols.setDecimalSeparator('.');
DecimalFormat decimalFormat1 = new DecimalFormat( "#.#", otherSymbols);
float[] patients = new float[PATIENTS_COUNT];
for (int i = 0; i < patients.length; i++) {
String result = decimalFormat1.format((float) (Math.random() * (MAX_TEMP - MIN_TEMP)) + MIN_TEMP);
float f = Float.parseFloat(result);
System.out.println("Температура пациентов: " + f + "\nСредняя температура:" + "\nКоличество здоровых пациентов:");
}
Мне нужно вывести среднюю температуру. Как высчитывать среднее число - я знаю, но не могу применить на практику.
В консоли вывод к каждой температуре отдельный, а нужно, чтоб был такой:
Температура пациентов: 35,2, 36,3, 36,1....
Средняя: 34,3.
Я вообще не понимаю как правильно сделать это. Можете подсказать? Что почитать, куда смотреть и т.д.?
По идее, нужно заполнить значением result массив patients. Нужно к индексу i в массиве записать значение из result. Как правильно это сделать, не понимаю.
Ответы (1 шт):
Автор решения: Aziz Umarov
→ Ссылка
вот так попробуйте
package test;
import java.io.IOException;
import java.math.*;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
public class App {
public static final int PATIENTS_COUNT = 30;
public static final int MIN_TEMP = 32;
public static final int MAX_TEMP = 40;
public static final double MIN_TEMP_HEALHTY = 36.2;
public static final double MAX_TEMP_HEALHTY = 36.9;
public static void main(String[] args) throws IOException {
DecimalFormat decimalFormat = new DecimalFormat("#.#");
DecimalFormatSymbols otherSymbols = new DecimalFormatSymbols();
otherSymbols.setDecimalSeparator('.');
DecimalFormat decimalFormat1 = new DecimalFormat("#.#", otherSymbols);
String[] patients = new String[PATIENTS_COUNT];
for (int i = 0; i < patients.length; i++) {
patients[i] = Float.toString((float) Math.random() * (MAX_TEMP - MIN_TEMP) + MIN_TEMP);
}
float average = 0;
for (int i = 0; i < patients.length; i++) {
average += Float.parseFloat(patients[i]);
}
average /= patients.length;
System.out.println(
"Температура пациентов: "
+ String.join(",", patients)
+ "\nСредняя температура:"
+ average
+ "\nКоличество здоровых пациентов:");
}
}