Advertisement
Guest User

Untitled

a guest
Jun 16th, 2019
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.30 KB | None | 0 0
  1. import java.io.File;
  2. import java.io.FileNotFoundException;
  3. import java.io.PrintWriter;
  4. import java.util.Scanner;
  5.  
  6. public class S20069_p03 {
  7. public static void main(String[] args){
  8. /// ... tresc programu ...
  9.  
  10. System.out.println();
  11. System.out.println("Start programu");
  12.  
  13. S20069_p03 program = new S20069_p03();
  14.  
  15. Student[] dane01 = new Student[0];
  16. Student[] dane02 = new Student[0];
  17.  
  18. System.out.println();
  19. System.out.println("Wczytywanie dane01.txt");
  20. try {
  21. dane01 = program.wczytajPlik("dane01.txt");
  22. }catch(FileNotFoundException e){
  23. System.out.println("Problem z wczytaniem pliku dane01.txt");
  24. }
  25. System.out.println();
  26. System.out.println("Wczytano dane01.txt");
  27.  
  28. System.out.println();
  29. System.out.println("Wczytywanie dane02.txt");
  30. try {
  31. dane02 = program.wczytajPlik("dane02.txt");
  32. }catch(FileNotFoundException e){
  33. System.out.println("Problem z wczytaniem pliku dane02.txt");
  34. }
  35. System.out.println();
  36. System.out.println("Wczytano dane02.txt");
  37.  
  38. System.out.println();
  39. System.out.println("Dane01.txt:");
  40. drukujTabliceStudentow(dane01);
  41. System.out.println();
  42. System.out.println("Dane02.txt:");
  43. drukujTabliceStudentow(dane02);
  44.  
  45. Student[] dane = polaczTabliceStudentow(dane01, dane02);
  46.  
  47. System.out.println();
  48. System.out.println("Razem:");
  49. drukujTabliceStudentow(dane);
  50.  
  51. System.out.println();
  52. System.out.println("Sortuj Ska rosnaco:");
  53. sortujSkaRosnaco(dane);
  54. Student[] danePosortowaneSka = dane;
  55. drukujTabliceStudentow(danePosortowaneSka);
  56.  
  57. System.out.println();
  58. System.out.println("Sortuj Imie malejaco:");
  59. sortujNameMalejaco(dane);
  60. Student[] danePosortowaneName = dane;
  61. drukujTabliceStudentow(danePosortowaneName);
  62.  
  63. System.out.println();
  64. System.out.println("Zapisywanie sortSka.txt");
  65. try {
  66. program.zapiszPlik("sortSka.txt",danePosortowaneSka);
  67. }catch(FileNotFoundException e){
  68. System.out.println("Problem z zapisem pliku sortSka.txt");
  69. }
  70. System.out.println();
  71. System.out.println("Zapisano sortSka.txt");
  72.  
  73. System.out.println();
  74. System.out.println("Zapisywanie sortName.txt");
  75. try {
  76. program.zapiszPlik("sortName.txt",danePosortowaneName);
  77. }catch(FileNotFoundException e){
  78. System.out.println("Problem z zapisem pliku sortName.txt");
  79. }
  80. System.out.println();
  81. System.out.println("Zapisano sortName.txt");
  82.  
  83. System.out.println();
  84. System.out.println("Koniec programu");
  85. }
  86.  
  87. // zestaw metod wlasnej implementacji studenta
  88.  
  89. public Student[] wczytajPlik(String nazwaPliku) throws FileNotFoundException{
  90. File plik = new File(nazwaPliku);
  91. Scanner skanner = new Scanner(plik);
  92.  
  93. Student[] result = new Student[0];
  94. int size = 0;
  95.  
  96. skanner.useDelimiter("\\s");
  97.  
  98. while(skanner.hasNextLine()) {
  99. Student student = new Student();
  100. student.numerIndeksu = skanner.next();
  101. student.imie = skanner.next();
  102. student.nazwisko = skanner.next();
  103. student.rokUrodzenia = Integer.valueOf(skanner.next());
  104. size++;
  105. result = powiekszTabliceStudentow(result);
  106. result[size-1] = student;
  107. }
  108. return result;
  109. }
  110.  
  111. public void zapiszPlik(String nazwaPliku, Student[] tablica) throws FileNotFoundException{
  112. PrintWriter plik = new PrintWriter(nazwaPliku);
  113.  
  114. for(int i = 0; i<tablica.length;i++)
  115. {
  116. plik.print(tablica[i].numerIndeksu+" "+tablica[i].imie+" "+tablica[i].nazwisko+" "+tablica[i].rokUrodzenia+" ");
  117. }
  118.  
  119. plik.close();
  120. }
  121.  
  122. public Student[] powiekszTabliceStudentow(Student[] tablica){
  123. Student[] result = new Student[tablica.length+1];
  124.  
  125. for(int i = 0; i<tablica.length;i++)
  126. {
  127. result[i]=tablica[i];
  128. }
  129. return result;
  130. }
  131.  
  132. public static void drukujTabliceStudentow (Student[] tablica){
  133. for(int i = 0; i<tablica.length;i++)
  134. {
  135. System.out.println(i+1 + ". " + tablica[i].numerIndeksu + " " + tablica[i].imie + " " +tablica[i].nazwisko + " " +tablica[i].rokUrodzenia);
  136. }
  137. }
  138.  
  139. public static Student[] polaczTabliceStudentow (Student[] tab1, Student[] tab2){
  140. Student[] result = new Student[tab1.length + tab2.length];
  141.  
  142. for(int i = 0; i<tab1.length;i++)
  143. {
  144. result[i]=tab1[i];
  145. }
  146. for(int i = tab1.length; i<(tab1.length + tab2.length);i++)
  147. {
  148. result[i]=tab2[i-tab1.length];
  149. }
  150.  
  151. return result;
  152. }
  153.  
  154. public static void sortujSkaRosnaco(Student[] tablica){
  155. Student temp;
  156.  
  157. for(int i = 0; i < tablica.length; i++) {
  158. for(int j=1; j < (tablica.length-i); j++) {
  159. if(porownajSka(tablica[j-1],tablica[j])) {
  160. temp = tablica[j-1];
  161. tablica[j-1] = tablica[j];
  162. tablica[j] = temp;
  163. }
  164. }
  165. }
  166. }
  167.  
  168. public static void sortujNameMalejaco(Student[] tablica){
  169. Student temp;
  170.  
  171. for(int i = 0; i < tablica.length; i++) {
  172. for(int j=1; j < (tablica.length-i); j++) {
  173. if(tablica[j-1].imie.compareToIgnoreCase(tablica[j].imie)<0){
  174. temp = tablica[j-1];
  175. tablica[j-1] = tablica[j];
  176. tablica[j] = temp;
  177. }
  178. }
  179. }
  180. }
  181.  
  182. public static boolean porownajSka(Student stud1, Student stud2){
  183. return Integer.valueOf(stud1.numerIndeksu.substring(1,stud1.numerIndeksu.length()-1)) > Integer.valueOf(stud2.numerIndeksu.substring(1,stud2.numerIndeksu.length()-1));
  184. }
  185.  
  186. //kolejne klasy zawierajace metody
  187. public class Osoba {
  188. String imie;
  189. String nazwisko;
  190. int rokUrodzenia;
  191. }
  192.  
  193. public class Student extends Osoba {
  194. String numerIndeksu;
  195. }
  196. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement