Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Некој систем за е-учење генерира извештаи за оценки на студенти по предмети во CSV (Comma Separated Values) формат. Да се напише Java програма, која на екран ќе го отпечати просекот на секој студент од датотеката rezultati.csv (види слика), како и просечната оценка што ја имаат студентите по секој од предметите наведени во првата редица. Програмата треба да работи за произволен број на редици.
- Студент,КРС,НРС,АОК
- 11234,8,9,8
- 13456,6,7,9
- 11111,7,8,8
- 10123,10,10,10
- Бонус: За подобра читливост на извештајот, прочитаната rezultati.csv датотека трансформирајте ја во TSV (Tab Separated Values) формат и снимете ја како rezultati.tsv.
- Решение: Решението од HW01_5.java фајлот го поставувате тука со copy-paste*/
- import java.io.*;
- import java.nio.file.Path;
- import java.nio.file.Paths;
- import java.util.Scanner;
- public class main {
- public static void main(String[] args) throws IOException {
- Scanner scanner = new Scanner(System.in);
- // System.out.println("Vnesi lokacija na csv datoteka");
- String dirToConvert = scanner.nextLine();
- Path dir = Paths.get(dirToConvert);
- BufferedReader bufferedReader = null;
- BufferedWriter bufferedWriter = null;
- bufferedReader = new BufferedReader(new FileReader(dir.toString()));
- bufferedWriter = new BufferedWriter(new FileWriter(dir.toString().replace(".csv", ".tsv")));
- String novRed = bufferedReader.readLine();
- String oceniPoPredmeti[] = novRed.split(",");
- int brOceni = oceniPoPredmeti.length-1;
- int zbirOceni[] = new int[novRed.length()];
- int vkStudenti = 0;
- bufferedWriter.write(novRed.replace(",", "\t")+"\n");
- while ((novRed = bufferedReader.readLine()) != null){
- String oceniUcenik[] = novRed.split(",");
- int zbir = 0;
- vkStudenti++;
- for (int i=1; i<oceniUcenik.length; i++){
- zbir += Integer.parseInt(oceniUcenik[i]);
- zbirOceni[i] += Integer.parseInt(oceniUcenik[i]);
- }
- System.out.println("Studentot: "+oceniUcenik[0]+" ima prosek: "+(zbir*1.0/brOceni));
- bufferedWriter.write(novRed.replace(",", "\t")+"\n");
- }
- for (int i=1; i<oceniPoPredmeti.length; i++)
- System.out.println("Po predmetot: "+oceniPoPredmeti[i]+" prosecnata ocena e: "+(zbirOceni[i]*1.0/vkStudenti));
- bufferedReader.close();
- bufferedWriter.flush();
- bufferedWriter.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment