fork download
  1. import java.io.File;
  2. import java.io.FileNotFoundException;
  3. import java.io.FileWriter;
  4. import java.io.IOException;
  5. import java.util.ArrayList;
  6. import java.util.Scanner;
  7.  
  8. public class Main {
  9. public static void main(String[] args) {
  10. String filename = "F.txt";
  11. String matrixData = "5 -2 3 4 5 6 7 8 9 10\n" +
  12. "1 8 -3 4 5 6 7 8 9 10\n" +
  13. "1 2 -1 4 5 6 7 8 9 10\n" +
  14. "1 2 3 2 5 6 7 8 9 10\n" +
  15. "1 2 3 4 -5 6 7 8 9 10\n" +
  16. "1 2 3 4 5 4 7 8 9 10\n" +
  17. "1 2 3 4 5 6 -7 8 9 10\n" +
  18. "1 2 3 4 5 6 7 2 9 10\n" +
  19. "1 2 3 4 5 6 7 8 -9 10\n" +
  20. "1 2 3 4 5 6 7 8 9 1\n";
  21.  
  22. try {
  23. FileWriter writer = new FileWriter(filename);
  24. writer.write(matrixData);
  25. writer.close();
  26. } catch (IOException e) {
  27. System.out.println("Помилка при створенні файлу.");
  28. return;
  29. }
  30.  
  31. ArrayList<ArrayList<Double>> matrix = new ArrayList<>();
  32.  
  33. try {
  34. File file = new File(filename);
  35. Scanner scanner = new Scanner(file);
  36.  
  37. while (scanner.hasNextLine()) {
  38. String line = scanner.nextLine().trim();
  39. if (line.isEmpty()) continue;
  40.  
  41. String[] values = line.split("\\s+");
  42. ArrayList<Double> row = new ArrayList<>();
  43.  
  44. for (String val : values) {
  45. row.add(Double.parseDouble(val.replace(",", ".")));
  46. }
  47. matrix.add(row);
  48. }
  49. scanner.close();
  50.  
  51. ArrayList<Double> positiveElements = new ArrayList<>();
  52. double sum = 0;
  53.  
  54. for (int i = 0; i < matrix.size(); i++) {
  55. if (i < matrix.get(i).size()) {
  56. double element = matrix.get(i).get(i);
  57. if (element > 0) {
  58. positiveElements.add(element);
  59. sum += element;
  60. }
  61. }
  62. }
  63.  
  64. if (!positiveElements.isEmpty()) {
  65. double average = sum / positiveElements.size();
  66. System.out.println("Додатні елементи на головній діагоналі: " + positiveElements);
  67. System.out.println("Середнє арифметичне: " + average);
  68. } else {
  69. System.out.println("На головній діагоналі немає додатних елементів.");
  70. }
  71.  
  72. } catch (FileNotFoundException e) {
  73. System.out.println("Помилка: Файл '" + filename + "' не знайдено.");
  74. } catch (NumberFormatException e) {
  75. System.out.println("Помилка формату: У файлі є символи, які не є числами.");
  76. }
  77. }
  78. }
Success #stdin #stdout 0.09s 53016KB
stdin
Standard input is empty
stdout
Помилка при створенні файлу.