Advertisement
Guest User

zad4

a guest
Mar 20th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.86 KB | None | 0 0
  1. import java.io.*;
  2. import java.util.ArrayList;
  3.  
  4. public class HW01_4 {
  5.     public static void main(String[] args) throws IOException {
  6.         File file = new File("rezultati.csv");
  7.         FileReader fis = new FileReader(file);
  8.         BufferedReader br = new BufferedReader(fis);
  9.         String line;
  10.         ArrayList<Student> students = new ArrayList<>();
  11.  
  12.         String info = br.readLine();
  13.  
  14.         try {
  15.             while ((line = br.readLine()) != null) {
  16.                 students.add(new Student(line));
  17.             }
  18.         }catch (Exception e){
  19.             throw e;
  20.         }
  21.  
  22.         for (Student student: students) {
  23.             System.out.printf("%.2f\n", student.getAverage());
  24.         }
  25.  
  26.         System.out.println();
  27.         String [] parts = info.split(",");
  28.         for(int i = 1; i < parts.length; i++){
  29.             StringBuilder sb = new StringBuilder(parts[i] + ": ");
  30.             double avg = 0;
  31.             for (Student s : students) {
  32.                 avg += s.grades.get(i - 1);
  33.             }
  34.             sb.append(String.format("%.2f", avg / (students.size())));
  35. //            sb.append("\n");
  36.             System.out.println(sb.toString());
  37.         }
  38.     }
  39. }
  40.  
  41. class Student{
  42.     int index;
  43.     ArrayList<Integer> grades;
  44.  
  45.     public Student(String str) {
  46.         String [] parts = str.split(",");
  47.         this.index = Integer.parseInt(parts[0]);
  48. //        System.out.println(index);
  49. //        int temp;
  50.         this.grades = new ArrayList<>();
  51.         for (int i = 1; i < parts.length; i++) {
  52. //            temp = Integer.parseInt(parts[i]);
  53.             grades.add(Integer.parseInt(parts[i]));
  54. //            grades.add(temp);
  55.         }
  56.     }
  57.  
  58.     public double getAverage(){
  59.         double sum = 0;
  60.         for (int grade : grades) {
  61.             sum += grade;
  62.         }
  63.         return sum / grades.size();
  64.     }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement