Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.io.PrintWriter;
- import java.util.Scanner;
- public class S20069_p03 {
- public static void main(String[] args){
- /// ... tresc programu ...
- System.out.println();
- System.out.println("Start programu");
- S20069_p03 program = new S20069_p03();
- Student[] dane01 = new Student[0];
- Student[] dane02 = new Student[0];
- System.out.println();
- System.out.println("Wczytywanie dane01.txt");
- try {
- dane01 = program.wczytajPlik("dane01.txt");
- }catch(FileNotFoundException e){
- System.out.println("Problem z wczytaniem pliku dane01.txt");
- }
- System.out.println();
- System.out.println("Wczytano dane01.txt");
- System.out.println();
- System.out.println("Wczytywanie dane02.txt");
- try {
- dane02 = program.wczytajPlik("dane02.txt");
- }catch(FileNotFoundException e){
- System.out.println("Problem z wczytaniem pliku dane02.txt");
- }
- System.out.println();
- System.out.println("Wczytano dane02.txt");
- System.out.println();
- System.out.println("Dane01.txt:");
- drukujTabliceStudentow(dane01);
- System.out.println();
- System.out.println("Dane02.txt:");
- drukujTabliceStudentow(dane02);
- Student[] dane = polaczTabliceStudentow(dane01, dane02);
- System.out.println();
- System.out.println("Razem:");
- drukujTabliceStudentow(dane);
- System.out.println();
- System.out.println("Sortuj Ska rosnaco:");
- sortujSkaRosnaco(dane);
- Student[] danePosortowaneSka = dane;
- drukujTabliceStudentow(danePosortowaneSka);
- System.out.println();
- System.out.println("Sortuj Imie malejaco:");
- sortujNameMalejaco(dane);
- Student[] danePosortowaneName = dane;
- drukujTabliceStudentow(danePosortowaneName);
- System.out.println();
- System.out.println("Zapisywanie sortSka.txt");
- try {
- program.zapiszPlik("sortSka.txt",danePosortowaneSka);
- }catch(FileNotFoundException e){
- System.out.println("Problem z zapisem pliku sortSka.txt");
- }
- System.out.println();
- System.out.println("Zapisano sortSka.txt");
- System.out.println();
- System.out.println("Zapisywanie sortName.txt");
- try {
- program.zapiszPlik("sortName.txt",danePosortowaneName);
- }catch(FileNotFoundException e){
- System.out.println("Problem z zapisem pliku sortName.txt");
- }
- System.out.println();
- System.out.println("Zapisano sortName.txt");
- System.out.println();
- System.out.println("Koniec programu");
- }
- // zestaw metod wlasnej implementacji studenta
- public Student[] wczytajPlik(String nazwaPliku) throws FileNotFoundException{
- File plik = new File(nazwaPliku);
- Scanner skanner = new Scanner(plik);
- Student[] result = new Student[0];
- int size = 0;
- skanner.useDelimiter("\\s");
- while(skanner.hasNextLine()) {
- Student student = new Student();
- student.numerIndeksu = skanner.next();
- student.imie = skanner.next();
- student.nazwisko = skanner.next();
- student.rokUrodzenia = Integer.valueOf(skanner.next());
- size++;
- result = powiekszTabliceStudentow(result);
- result[size-1] = student;
- }
- return result;
- }
- public void zapiszPlik(String nazwaPliku, Student[] tablica) throws FileNotFoundException{
- PrintWriter plik = new PrintWriter(nazwaPliku);
- for(int i = 0; i<tablica.length;i++)
- {
- plik.print(tablica[i].numerIndeksu+" "+tablica[i].imie+" "+tablica[i].nazwisko+" "+tablica[i].rokUrodzenia+" ");
- }
- plik.close();
- }
- public Student[] powiekszTabliceStudentow(Student[] tablica){
- Student[] result = new Student[tablica.length+1];
- for(int i = 0; i<tablica.length;i++)
- {
- result[i]=tablica[i];
- }
- return result;
- }
- public static void drukujTabliceStudentow (Student[] tablica){
- for(int i = 0; i<tablica.length;i++)
- {
- System.out.println(i+1 + ". " + tablica[i].numerIndeksu + " " + tablica[i].imie + " " +tablica[i].nazwisko + " " +tablica[i].rokUrodzenia);
- }
- }
- public static Student[] polaczTabliceStudentow (Student[] tab1, Student[] tab2){
- Student[] result = new Student[tab1.length + tab2.length];
- for(int i = 0; i<tab1.length;i++)
- {
- result[i]=tab1[i];
- }
- for(int i = tab1.length; i<(tab1.length + tab2.length);i++)
- {
- result[i]=tab2[i-tab1.length];
- }
- return result;
- }
- public static void sortujSkaRosnaco(Student[] tablica){
- Student temp;
- for(int i = 0; i < tablica.length; i++) {
- for(int j=1; j < (tablica.length-i); j++) {
- if(porownajSka(tablica[j-1],tablica[j])) {
- temp = tablica[j-1];
- tablica[j-1] = tablica[j];
- tablica[j] = temp;
- }
- }
- }
- }
- public static void sortujNameMalejaco(Student[] tablica){
- Student temp;
- for(int i = 0; i < tablica.length; i++) {
- for(int j=1; j < (tablica.length-i); j++) {
- if(tablica[j-1].imie.compareToIgnoreCase(tablica[j].imie)<0){
- temp = tablica[j-1];
- tablica[j-1] = tablica[j];
- tablica[j] = temp;
- }
- }
- }
- }
- public static boolean porownajSka(Student stud1, Student stud2){
- return Integer.valueOf(stud1.numerIndeksu.substring(1,stud1.numerIndeksu.length()-1)) > Integer.valueOf(stud2.numerIndeksu.substring(1,stud2.numerIndeksu.length()-1));
- }
- //kolejne klasy zawierajace metody
- public class Osoba {
- String imie;
- String nazwisko;
- int rokUrodzenia;
- }
- public class Student extends Osoba {
- String numerIndeksu;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement