Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Kolokvij;
- import java.io.BufferedReader;
- import java.io.File;
- import java.io.FileReader;
- import java.io.IOException;
- import java.util.Scanner;
- public class Test {
- final static int MAX_BROJ_RIJECI_U_DATOTECI = 4096;
- static Scanner ulaz = new Scanner(System.in);
- private static int brojRijeci = 0, brojacJednakihRijeci[] = new int[MAX_BROJ_RIJECI_U_DATOTECI];
- private static String poljeRijeci[] = new String[MAX_BROJ_RIJECI_U_DATOTECI];
- public static void main(String[] args) throws IOException {
- String putanja = null;
- System.out.println("Unesite putanju te naziv datoteke koju zelite pretraziti:");
- try {
- putanja = ulaz.next();
- } catch (Exception greska) {
- System.err.println("Pogresan unos.");
- System.exit(0);
- }
- pretraziDatoteku(putanja);
- selectionSort();
- ispisRijeci(putanja);
- }
- @SuppressWarnings("resource")
- public static void pretraziDatoteku(String putanja) throws IOException {
- BufferedReader br = null;
- String dat = null;
- System.out.println(putanja);
- br = new BufferedReader(new FileReader(putanja));
- while ((dat = br.readLine()) != null) {
- String ucitaneRijeci[] = dat.split("\\s");
- for (String i : ucitaneRijeci) {
- String ucitanaRijec = i.toLowerCase();
- dodajRijec(ucitanaRijec);
- }
- }
- }
- public static void dodajRijec(String ucitanaRijec) {
- for(int i = 0; i < brojRijeci; i++) {
- if(poljeRijeci[i].equals(ucitanaRijec)) {
- brojacJednakihRijeci[i]++;
- return;
- }
- }
- poljeRijeci[brojRijeci] = ucitanaRijec;
- brojacJednakihRijeci[brojRijeci] = 1;
- brojRijeci++;
- }
- public static void selectionSort() {
- for (int i = 0; i < brojRijeci - 1; i++) {
- int index = i;
- for (int j = i + 1; j < brojRijeci; j++) {
- if (brojacJednakihRijeci[j] > brojacJednakihRijeci[index]) {
- index = j;// searching for lowest index
- }
- }
- int najmanjiBroj = brojacJednakihRijeci[index];
- brojacJednakihRijeci[index] = brojacJednakihRijeci[i];
- brojacJednakihRijeci[i] = najmanjiBroj;
- String privremenaRijec = poljeRijeci[index];
- poljeRijeci[index] = poljeRijeci[i];
- poljeRijeci[i] = privremenaRijec;
- }
- }
- public static void ispisRijeci(String putanja) {
- if(putanja != null) {
- File datoteka = new File(putanja);
- System.out.println("U datoteci " + datoteka.getName() + " nalaze se sljedece rijeci:");
- System.out.println("------------------------\nRijec (broj ponavljanja)\n------------------------");
- }
- for(int i = 0; i < 5; i ++) {
- System.out.println(poljeRijeci[i] + " (" + brojacJednakihRijeci[i] + ")");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement