Advertisement
Guest User

Zadatak 2

a guest
Feb 18th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.59 KB | None | 0 0
  1. package Kolokvij;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.File;
  5. import java.io.FileReader;
  6. import java.io.IOException;
  7. import java.util.Scanner;
  8.  
  9. public class Test {
  10.     final static int MAX_BROJ_RIJECI_U_DATOTECI = 4096;
  11.    
  12.     static Scanner ulaz = new Scanner(System.in);
  13.    
  14.     private static int brojRijeci = 0, brojacJednakihRijeci[] = new int[MAX_BROJ_RIJECI_U_DATOTECI];
  15.     private static String poljeRijeci[] = new String[MAX_BROJ_RIJECI_U_DATOTECI];
  16.    
  17.     public static void main(String[] args) throws IOException {
  18.         String putanja = null;
  19.         System.out.println("Unesite putanju te naziv datoteke koju zelite pretraziti:");
  20.         try {
  21.             putanja = ulaz.next();
  22.         } catch (Exception greska) {
  23.             System.err.println("Pogresan unos.");
  24.             System.exit(0);
  25.         }
  26.         pretraziDatoteku(putanja);
  27.         selectionSort();
  28.         ispisRijeci(putanja);
  29.     }
  30.    
  31.     @SuppressWarnings("resource")
  32.     public static void pretraziDatoteku(String putanja) throws IOException {
  33.  
  34.         BufferedReader br = null;
  35.         String dat = null;
  36.  
  37.         System.out.println(putanja);
  38.         br = new BufferedReader(new FileReader(putanja));
  39.  
  40.         while ((dat = br.readLine()) != null) {
  41.             String ucitaneRijeci[] = dat.split("\\s");
  42.             for (String i : ucitaneRijeci) {
  43.                 String ucitanaRijec = i.toLowerCase();
  44.                 dodajRijec(ucitanaRijec);
  45.             }
  46.         }
  47.     }
  48.    
  49.     public static void dodajRijec(String ucitanaRijec) {
  50.         for(int i = 0; i < brojRijeci; i++) {
  51.             if(poljeRijeci[i].equals(ucitanaRijec)) {
  52.                 brojacJednakihRijeci[i]++;
  53.                 return;
  54.             }
  55.         }
  56.         poljeRijeci[brojRijeci] = ucitanaRijec;
  57.         brojacJednakihRijeci[brojRijeci] = 1;
  58.         brojRijeci++;
  59.     }
  60.    
  61.     public static void selectionSort() {
  62.         for (int i = 0; i < brojRijeci - 1; i++) {
  63.             int index = i;
  64.             for (int j = i + 1; j < brojRijeci; j++) {
  65.                 if (brojacJednakihRijeci[j] > brojacJednakihRijeci[index]) {
  66.                     index = j;// searching for lowest index
  67.                 }
  68.             }
  69.             int najmanjiBroj = brojacJednakihRijeci[index];
  70.             brojacJednakihRijeci[index] = brojacJednakihRijeci[i];
  71.             brojacJednakihRijeci[i] = najmanjiBroj;
  72.             String privremenaRijec = poljeRijeci[index];
  73.             poljeRijeci[index] = poljeRijeci[i];
  74.             poljeRijeci[i] = privremenaRijec;
  75.         }
  76.     }
  77.     public static void ispisRijeci(String putanja) {
  78.         if(putanja != null) {
  79.             File datoteka = new File(putanja);
  80.            
  81.             System.out.println("U datoteci " + datoteka.getName() + " nalaze se sljedece rijeci:");
  82.             System.out.println("------------------------\nRijec (broj ponavljanja)\n------------------------");
  83.         }
  84.         for(int i = 0; i < 5; i ++) {
  85.             System.out.println(poljeRijeci[i] + " (" + brojacJednakihRijeci[i] + ")");
  86.         }
  87.     }
  88.    
  89.  
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement