В настоящее время я изучаю потоки и использую функцию .average, чтобы вычислить среднее значение некоторых целых чисел, которые вводятся с помощью сканера.Проблема, с которой я сталкиваюсь, заключается в том, как отформатировать вывод, чтобы он не говорил необязательный double.
import java.util.Scanner;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class ClassAverage {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
List<Integer> grades = new ArrayList<Integer>();
while (scan.hasNextInt()) {
grades.add(scan.nextInt());
if (scan.equals("end")) {
{
break;
}
}
grades.forEach(System.out::println);
}
System.out.println("" + grades.stream()
.mapToInt(Integer::intValue)
.average());
}
}
Это вывод, который я получаю
OptionalDouble[88.0]