Помогите пожалуйста с лабораторной работой по информатике на языке JAVA
У меня написана программа, которая выводит на консоль рандомные числа и среднее арифметическое этих чисел (Это была 1 лабораторная). А теперь нужно сделать 2 лабораторную "Ввод и вывод в файл", я не сильно понял, что именно нужно там делать, но вроде как надо, чтобы в одном файле вводить значения, а в другом уже выводилось все остальное. Помогите пожалуйста, буду очень благодарен)
Вот код программы:
1.import java.util.Arrays;
2.import java.util.Scanner;
3.
4.public class random {
5. public static void main(String[] args) {
6. int up, down, av;
7. double sredn;
8. Scanner sc = new Scanner(System.in);
9. System.out.println(
10. "Необходимо задать пределы минимума и максимума для создания массива случайных чисел и ввести их количество.");
11. System.out.print("Введите нижний предел: ");
12. down = sc.nextInt();
13. System.out.print("Введите верхний предел: ");
14. up = sc.nextInt();
15. if (down > up) {
16. System.out.println("Ошибка! Нижний предел больше верхнего предела.");
17. return;
18. }
19. System.out.print("Введите число элементов: ");
20. av = sc.nextInt();
21. sc.close();
22.
23. int[] a = new int[av];
24. for (int i = 0; i < av; i++) {
25. int sten = up - down + 1;
26. a[i] = down + (int) (sten * Math.random());
27. }
28.
29. System.out.println("Неотсортированный массив: ");
30. int len = 0;
31. for (int i = 0; i < av; i++) {
32. len = len + (a[i] + " ;").length();
33. if (len > 70) {
34. System.out.println();
35. len = (a[i] + "; ").length();
36. }
37. System.out.print(a[i] + "; ");
38. }
39.
40. System.out.println();
41.
42. Arrays.sort(a);
43. System.out.println("Отсортированный массив: ");
44. len = 0;
45. for (int i = 0; i < av; i++) {
46. len += (a[i] + "; ").length();
47. if (len > 70) {
48. System.out.println();
49. len = (a[i] + "; ").length();
50. }
51. System.out.print(a[i] + "; ");
52. }
53.
54. System.out.println();
55.
56. System.out.println("Среднее арифметическое чисел равно: ");
57. int sum = 0;
58. for (int i = 0; i < av; i++) {
59. sum = sum + a[i];
60. }
61. sredn = (double) sum / av;
62.
63. System.out.println(sredn);
64. }
65.}
всё что ты вводил в эту программу вручную должно теперь считываться из (одного) файла
и все результаты что ты распечатывал должны теперь записываться в (другой) файл
а что это за **ня?
sredn = (double) sum / av;
почему sum переменную сразу не определить типа double?