Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Drugi zadatak sa testa
- //Klasa Ucenik
- import java.util.Arrays;
- public class Ucenik {
- //atributi
- String ime, prezime;
- int razred;
- char odjeljenje;
- int ocjene[];
- //parametarski konstruktor
- public Ucenik(String ime1, String prezime1, int razred1, char odjeljenje1, int ocjene1[])
- {
- this.ime = ime1;
- this.prezime = prezime1;
- this.razred = razred1;
- this.odjeljenje = odjeljenje1;
- this.ocjene = ocjene1;
- }
- public String getIme() {
- return ime;
- }
- public void setIme(String ime) {
- this.ime = ime;
- }
- public String getPrezime() {
- return prezime;
- }
- public void setPrezime(String prezime) {
- this.prezime = prezime;
- }
- public int getRazred() {
- return razred;
- }
- public void setRazred(int razred) {
- this.razred = razred;
- }
- public char getOdjeljenje() {
- return odjeljenje;
- }
- public void setOdjeljenje(char odjeljenje) {
- this.odjeljenje = odjeljenje;
- }
- public int[] getOcjene() {
- return ocjene;
- }
- public void setOcjene(int[] ocjene) {
- this.ocjene = ocjene;
- }
- public double vratiProsjek()
- {
- double sum = 0;
- for(int i=0; i < ocjene.length;i++)
- sum += ocjene[i];
- return sum/ocjene.length;
- }
- public String toString()
- {
- return "[Ucenik]: "+ime+" "+prezime+", Razred: "+razred+", Odjeljenje "+odjeljenje+", Ocjene: "+Arrays.toString(ocjene)+", prosjek: "+vratiProsjek();
- }
- }
- =============================================
- //Test klasa
- import java.util.*;
- import java.io.*;
- class CompPrezimeIme implements Comparator<Ucenik>
- {
- public int compare(Ucenik u1, Ucenik u2)
- {
- if(u1.getPrezime().compareTo(u2.getPrezime())==0)
- {
- return u1.getIme().compareTo(u2.getIme());
- }
- else
- {
- return u1.getPrezime().compareTo(u2.getPrezime());
- }
- }
- }
- class CompProsjek implements Comparator<Ucenik>
- {
- public int compare(Ucenik u1, Ucenik u2)
- {
- if(u1.vratiProsjek()>u2.vratiProsjek())
- {
- return 1;
- }
- if(u1.vratiProsjek()<u2.vratiProsjek())
- {
- return -1;
- }
- return 0;
- }
- }
- class CompPredmet implements Comparator<Ucenik>
- {
- int n;
- public CompPredmet(int n1)
- {
- this.n = n1;
- }
- public int compare(Ucenik u1, Ucenik u2)
- {
- if(u1.getOcjene()[n-1] > u2.getOcjene()[n-1]) return 1;
- if(u1.getOcjene()[n-1] < u2.getOcjene()[n-1]) return -1;
- return 0;
- }
- }
- public class Test {
- public static void main(String args[]){
- try{
- Scanner scan1 = new Scanner(System.in);
- FileReader ff = new FileReader("Ucenici.txt");
- Scanner scan2 = new Scanner(ff);
- Vector<Ucenik> vUcenici = new Vector<Ucenik>();
- Ucenik utemp;
- String imeT, prezimeT;
- int razredT;
- char odjeljenjeT;
- int ocjeneT[];
- //citanje iz fajla
- while(scan2.hasNext())
- {
- imeT = scan2.next();
- prezimeT = scan2.next();
- razredT = scan2.nextInt();
- odjeljenjeT = scan2.next().charAt(0);
- ocjeneT = new int[10];
- for(int i=0;i < 10; i++)
- ocjeneT[i] = scan2.nextInt();
- utemp = new Ucenik(imeT, prezimeT, razredT, odjeljenjeT, ocjeneT);
- vUcenici.add(utemp);
- }
- System.out.println("================ Ucenici.txt ================");
- for(Ucenik u : vUcenici)
- System.out.println(u);
- System.out.println("=============================================");
- int izbor;
- do
- {
- System.out.println("=============================================");
- System.out.println("1. Lista ucenika - sortirano po prezimenu.");
- System.out.println("2. Lista ucenika - razred, sortirano po prosjecnoj ocjeni.");
- System.out.println("3. Lista ucenika - razred, predmet, sortirano po ocjeni iz odredjenog predmeta.");
- System.out.println("4. Lista ucenika - prosjecna ocjena izmedju a i b.");
- System.out.println("5. Lista ucenika - predmet, ocjena.");
- System.out.println("0. IZLAZ");
- System.out.println("Vas izbor: ");
- izbor = scan1.nextInt();
- switch(izbor)
- {
- case 1:
- {
- System.out.println("[Izabrana opcija 1] Lista ucenika - sortirano po prezimenu.");
- Collections.sort(vUcenici, new CompPrezimeIme());
- for(Ucenik u : vUcenici)
- System.out.println(u);
- break;
- }
- case 2:
- {
- System.out.println("[Izabrana opcija 2] Lista ucenika - razred, sortirano po prosjecnoj ocjeni.");
- System.out.println("Unesite razred: ");
- int r = scan1.nextInt();
- Vector<Ucenik> vPoRazredu = new Vector<Ucenik>();
- for(Ucenik u : vUcenici)
- if (u.getRazred() == r)
- vPoRazredu.add(u);
- Collections.sort(vPoRazredu, new CompProsjek());
- for(Ucenik u : vUcenici)
- System.out.println(u);
- break;
- }
- case 3:
- {
- System.out.println("[Izabrana opcija 3] Lista ucenika - razred, predmet, sortirano po ocjeni iz odredjenog predmeta.");
- System.out.println("Unesite razred: ");
- int r = scan1.nextInt();
- Vector<Ucenik> vPoRazredu = new Vector<Ucenik>();
- for(Ucenik u : vUcenici)
- if (u.getRazred() == r)
- vPoRazredu.add(u);
- System.out.println("Unesite redni broj predmeta: ");
- int n = scan1.nextInt();
- Collections.sort(vPoRazredu, new CompPredmet(n));
- for(Ucenik u : vUcenici)
- System.out.println(u);
- break;
- }
- case 4:
- {
- System.out.println("[Izabrana opcija 4] Lista ucenika - prosjecna ocjena izmedju a i b.");
- System.out.print("Unesite broj a: ");
- double a = scan1.nextDouble();
- System.out.print("Unesite broj b: ");
- double b = scan1.nextDouble();
- for(Ucenik u : vUcenici)
- if (a <= u.vratiProsjek() && u.vratiProsjek() <=b)
- System.out.println(u);
- break;
- }
- case 5:
- {
- System.out.println("[Izabrana opcija 5] Lista ucenika - predmet, ocjena.");
- System.out.println("Unesi redni broj predmeta: ");
- int n = scan1.nextInt();
- System.out.println("Unesite ocjenu");
- int o = scan1.nextInt();
- for(Ucenik u : vUcenici)
- if (u.getOcjene()[n-1] == o)
- System.out.println(u);
- break;
- }
- }
- }while(izbor != 0);
- ff.close();
- }catch(Exception e){
- System.out.println("[GRESKA]: Desila se greska!");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement