Advertisement
stoneman

Oslus.java

May 29th, 2012
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.36 KB | None | 0 0
  1. package dogadjaji;
  2.  
  3. import grafika.Prozor;
  4. import java.awt.event.ActionEvent;
  5. import java.awt.event.ActionListener;
  6. import java.io.BufferedReader;
  7. import java.io.DataInputStream;
  8. import java.io.FileInputStream;
  9. import java.io.FileNotFoundException;
  10. import java.io.InputStreamReader;
  11. import java.lang.reflect.Array;
  12.  
  13. import javax.swing.JOptionPane;
  14.  
  15. public class Oslus implements ActionListener
  16. {
  17.     Prozor p1;
  18.     String slova;
  19.     String strRed;
  20.     String izlaz;
  21.     public int lslova = 12;
  22.     public int duz_temp = 0;
  23.     public char rTemp[];
  24.     public char rSlova[];
  25.     int broj_reci =0;
  26.     String top5;
  27.  
  28.     public void actionPerformed(ActionEvent dog)
  29.     {
  30.         try {
  31.             Odradi();
  32.         } catch (Exception e) {
  33.             e.printStackTrace();
  34.         }
  35.     }
  36.    
  37.     public Oslus(Prozor _p1)
  38.     {
  39.         p1 = _p1;
  40.         izlaz = "";
  41.        
  42.         rSlova = new char[12];
  43.         rTemp = new char[12];
  44.     }
  45.    
  46.     private void Odradi() throws Exception
  47.     {
  48.        
  49.         slova = p1.unos.getText();
  50.        
  51.         if(slova.length() != 12)
  52.         {
  53.             JOptionPane.showMessageDialog(p1,"Potrebno je uneti tacno 12 slova!");
  54.         }
  55.         else
  56.         {
  57.             FileInputStream fstream = new FileInputStream("wordlist.txt");
  58.             DataInputStream in = new DataInputStream(fstream);
  59.             BufferedReader br = new BufferedReader(new InputStreamReader(in));
  60.        
  61.             slova = slova.toUpperCase();
  62.        
  63.             while((strRed = br.readLine()) != null)
  64.             {
  65.                 strRed = strRed.toUpperCase();
  66.                 if(Uporedi(strRed) == true)
  67.                 {
  68.                     izlaz = izlaz + "\n" + strRed;
  69.                     broj_reci++;
  70.                 }
  71.             }
  72.             String [] reci = izlaz.split("\n");
  73.             int k=0;
  74.             top5 = "";
  75.             for(int t=broj_reci; t>broj_reci-10; t--)
  76.             {
  77.                 if(k == 9)
  78.                 {
  79.                     top5 += reci[t];
  80.                 }
  81.                 else
  82.                 {
  83.                     top5 += reci[t] + "\n";
  84.                     k++;
  85.                 }
  86.             }
  87.        
  88.             p1.izlaz.setText(top5);
  89.             br.close();
  90.         }
  91.     }
  92.    
  93.     private boolean Uporedi(String temp)
  94.     {
  95.         duz_temp = temp.length();
  96.         rTemp = temp.toCharArray();
  97.         rSlova = slova.toCharArray();
  98.        
  99.         int i=0,j=0,jj=0,brojac=0;
  100.        
  101.         for(i=0; i<duz_temp; i++)
  102.         {
  103.             for(j=0; j<lslova-jj; j++)
  104.             {
  105.                 if(rTemp[i] == rSlova[j])
  106.                 {
  107.                     brojac++;
  108.                     Premesti(j);
  109.                     j++;
  110.                     break;
  111.                 }
  112.             }
  113.         }
  114.        
  115.         if(brojac == duz_temp)
  116.         {
  117.             return true;
  118.         }
  119.        
  120.         return false;
  121.        
  122.     }
  123.    
  124.     private void Premesti(int j)
  125.     {
  126.         int i;
  127.         for(i=j; i<lslova-1; i++)
  128.         {
  129.             rSlova[i] = rSlova[i+1];
  130.         }
  131.         rSlova[i] = 'w'; //hack :)
  132.     }
  133.  
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement