Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.File;
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- public class HW01_4 {
- public static void main(String[] args) throws IOException {
- File input = new File("rezultati.csv");
- File output = new File("rezultati.tsv");
- if(!input.exists())
- return;
- List<String> outputText = new ArrayList<>();
- List<Class> classes = new ArrayList<>();
- List<Student> students = new ArrayList<>();
- try(BufferedReader bf = new BufferedReader(new FileReader(input));
- BufferedWriter bw = new BufferedWriter(new FileWriter(output));)
- {
- String line = bf.readLine();
- String outputLine = line.replaceAll(",","\t");
- outputText.add(outputLine);
- String[] parts = line.split(",");
- Arrays.stream(parts)
- .skip(1)
- .forEach(o->classes.add(new Class(o)));
- while((line = bf.readLine())!=null) {
- outputLine = line.replaceAll(",","\t");
- outputText.add(outputLine);
- parts = line.split(",");
- Student s = new Student(Integer.parseInt(parts[0]));
- for(int i=1;i<parts.length;i++) {
- classes.get(i-1).addGrade(parts[i]);
- s.addGrade(parts[i]);
- }
- students.add(s);
- }
- students.forEach(System.out::println);
- System.out.println();
- classes.forEach(System.out::println);
- for(String outStr : outputText) {
- bw.write(outStr);
- bw.newLine();
- }
- }
- }
- }
- class Student{
- private int index;
- private List<Integer> grades;
- public Student(int index) {
- super();
- this.index = index;
- grades = new ArrayList<>();
- }
- public int getIndex() {
- return index;
- }
- public List<Integer> getGrades() {
- return grades;
- }
- public void addGrade(String grade) {
- grades.add(Integer.parseInt(grade));
- }
- public void addGrade(Integer grade) {
- grades.add(grade);
- }
- public double avgGrade() {
- return grades
- .stream()
- .mapToDouble(Double::valueOf)
- .average()
- .getAsDouble();
- }
- @Override
- public String toString() {
- return String.format("Student: %d Prosek: %.2f",index,avgGrade());
- }
- }
- class Class{
- private String name;
- private List<Integer> grades;
- public Class(String name) {
- this.name = name;
- grades = new ArrayList<>();
- }
- public String getName() {
- return name;
- }
- public void addGrade(String grade) {
- grades.add(Integer.parseInt(grade));
- }
- public void addGrade(Integer grade) {
- grades.add(grade);
- }
- public double avgGrade() {
- return grades
- .stream()
- .mapToDouble(Double::valueOf)
- .average()
- .getAsDouble();
- }
- @Override
- public String toString() {
- return String.format("Predmet: %s Prosek: %.2f",name,avgGrade());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement