Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.util.Scanner;
- public class Students_Methods { // Старт на Student_Methods
- // Създаваме си метод ,който чете и разделя (read and split) (също в него си дефинираме String DATA)
- public static Students[] ReadAndSplitFromFile(String DATA) throws FileNotFoundException { //Старт на read and split
- int counter = 0; // Дефинираме си брояч,който брои редовете във файла
- //Създаваме скенър ,който чете файла
- Scanner myReader = new Scanner(new File(DATA), "UTF-8");
- //Създаваме си while цикъл,който ни преброява записите(файловете,който) са във файла
- while (myReader.hasNextLine()) {
- counter++;
- }
- //Създаваме си масив от обекти - клас,който за тях е в Students.java
- Students[] StudentGroup = new Students[counter];
- counter = 0;
- // Създаваме си FOR цикъл ,който ще ни попълва масива от ученици
- while (myReader.hasNextLine()) {
- System.out.println("NOW READING FROM FILE FOR EVERY STUDENT [" + counter + "] : "); //Изпечатваме
- // Дефинираме променлива,която чете един по един редовете
- String dataString = myReader.nextLine();
- // сплитваме по "," (запетая) и ги слагаме в масив
- String[] splitedData = dataString.split(",");
- StudentGroup[counter].setNumber(Integer.parseInt(splitedData[0])); //взима номера на студента от текстовия файл
- StudentGroup[counter].setName(splitedData[1]); //взима името на студента от текстовия файл
- StudentGroup[counter].setFamily(splitedData[2]); //взима фамилията на студента от текстовия файл
- StudentGroup[counter].setAvgscore(Double.parseDouble(splitedData[3])); //взима ср.успех на студента от текстовия файл
- counter++; //увеличаваме индекса на студентите
- }
- System.out.println("FINISHING READ FROM FILE !!!"); //Изпечатваме
- return StudentGroup;
- }// end of read and split
- // METHOD : MAKE STATISTIC
- public static void MakeStatistic(Students[] StudentGroup) { //Създаваме си метод MakeStatistic --Start--
- double GroupAvgScore = 0; //дефинираме си променлива за средния успех на групата
- // Правим си for-each цикъл,който изпечатва информация за всеки ученик по отделно
- for (Students thisStudent : StudentGroup) // Правим си for-each цикъл
- {
- System.out.print("Номер : " + thisStudent.getNumber()); //Изпечатваме номера
- System.out.print(" Име : " + thisStudent.getName()); //Изпечатваме името
- System.out.print(" Фамилия : " + thisStudent.getFamily()); //Изпечатваме фамилията
- System.out.println(" Ср.Успех : " + thisStudent.getAvgscore()); //Изпечатваме ср.успех
- }
- // Правим си for-each цикъл,който изпечатва средния успех на групата
- for (Students thisStudent : StudentGroup)
- {
- GroupAvgScore = GroupAvgScore + thisStudent.getAvgscore(); //пресмятаме средния успех на групата
- GroupAvgScore = GroupAvgScore / StudentGroup.length; //разделяме общият успех на броя студенти
- System.out.println("AVG SCORE : " + GroupAvgScore); //изпечатваме средния успех за групата
- }
- // Най-висок успех на ученик
- int index =0; //дефинираме си един индекс
- double MaxScore = 0; //дефинираме си най-големия успех
- for (Students thisStudent : StudentGroup) // Създаваме си for-each цикъл
- {
- if (MaxScore < thisStudent.getAvgscore()) { //проверяваме ако MaxScore е по-малък от ср.успех на ученика
- MaxScore = thisStudent.getAvgscore(); //то MaxScore става равно на ср.успех и увеличаваме индекса
- index++;
- }
- }
- System.out.println("MAX SCORE : " + MaxScore); //Изпечатваме максималния успех
- System.out.print("Номер : " + StudentGroup[index].getNumber()); //Изпечатваме номера
- System.out.print(" Име : " + StudentGroup[index].getName()); //Изпечатваме името
- System.out.print(" Фамилия : " + StudentGroup[index].getFamily()); //Изпечатваме фамилията
- System.out.println(" Ср.Успех : " + StudentGroup[index].getAvgscore()); //Изпечатваме ср.успех
- //Изпечатва информация на ученика с най-висок успех
- // Най-нисък успех на ученик
- index = 0;
- double MinScore = 0; //дефинираме си най-малък успех
- for (Students thisStudent : StudentGroup) // Създаваме си for-each цикъл
- {
- if ( MinScore < thisStudent.getAvgscore() ) { //проверяваме ако MinScore е по-малък от ср.успех на ученика
- MinScore = thisStudent.getAvgscore(); //то MaxScore става равно на ср.успех и увеличаваме индекса
- index++;
- }
- System.out.println("MIN SCORE : " + MinScore); //Изпезатваме минималния успех
- System.out.print("Номер : " + StudentGroup[index].getNumber()); //Изпечатваме номера
- System.out.print(" Име : " + StudentGroup[index].getName()); //Изпечатваме името
- System.out.print(" Фамилия : " + StudentGroup[index].getFamily()); //Изпечатваме фамилията
- System.out.println(" Ср.Успех : " + StudentGroup[index].getAvgscore()); //Изпечатваме ср.успех
- } //Изпечатва информация на ученика с най-нисък успех
- } // END of Make Statistic
- }// Край на Student_Methods
Advertisement
Add Comment
Please, Sign In to add comment