Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- STUDENTS====================================================
- -------------------
- package Student_GROUP;
- class Students {
- //полета за номер, име, фамилия и средена оценка
- private int number;
- private String name;
- private String family;
- private double avgscore;
- //Дифоулт конструктор
- public Students() {
- }
- // Конструктор с параметри
- public Students(int number, String name, String family, double avgscore) {
- this.number = number;
- this.name = name;
- this.family = family;
- this.avgscore = avgscore;
- }
- // GET-SET методи
- public int getNumber() {
- return number;
- }
- public void setNumber(int number) {
- this.number = number;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getFamily() {
- return family;
- }
- public void setFamily(String family) {
- this.family = family;
- }
- public double getAvgscore() {
- return avgscore;
- }
- public void setAvgscore(double avgscore) {
- this.avgscore = avgscore;
- }
- }
- =========================================================================
- Students_Methods
- ---------------------------------
- package Student_GROUP;
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.util.Scanner;
- public class Students_Methods {
- // метод ReadAndSplitFromFile връща масив от обекти (Students[])
- public static Students[] ReadAndSplitFromFile(String DATA) throws FileNotFoundException {
- //броя на редовете във файла
- int counter = 0;
- //скенер с име myReader. charset = utf-8. Чете от DATA_TXT.txt
- Scanner myReader = new Scanner(new File(DATA), "UTF-8");
- //преброява редовете във файла
- while (myReader.hasNextLine()) {
- counter++;
- }
- //създаваме масив от обекти с дължина броят на редовете във файла
- 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-а
- counter++;
- }
- System.out.println("FINISHING READ FROM FILE !!!");
- //връща StudentGroup
- return StudentGroup;
- }//край на ReadAndSplitFromFile
- //метод MakeStatistic
- public static void MakeStatistic(Students[] StudentGroup) {
- //променлива за средната оценка на всички ученици
- double GroupAvgScore = 0;
- // минаваме през всички ученици чрез този for-each и принтираме информацията за тях
- for (Students thisStudent : StudentGroup) {
- 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-each-а и if-a намираме кой е ученика с най-висока оценка
- for (Students thisStudent : StudentGroup) // FOR-EACH
- {
- if (MaxScore < thisStudent.getAvgscore()) {
- MaxScore = thisStudent.getAvgscore();
- 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-each-а и if-a намираме кой е ученика с най-ниска оценка
- for (Students thisStudent : StudentGroup){
- if (MinScore < thisStudent.getAvgscore()) {
- MinScore = thisStudent.getAvgscore();
- 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());
- }
- }//край на MakeStatistic
- }//край
- ============================================================================
- Students_Main
- ----------------------------
- package Student_GROUP;
- import java.io.FileNotFoundException;
- import static Student_GROUP.Students_Methods.*;
- public class Students_Main {
- //main
- public static void main(String[] args) throws FileNotFoundException {
- //създаваме статистика на учениците, след като сме прочели и съхранили информацията DATA_TXT.txt
- MakeStatistic(ReadAndSplitFromFile("C:\\Users\\cveto\\Desktop\\DATA_TXT.txt"));
- }//край на мейна
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement