stoneman icon

Oslus.java

stoneman | PRO | 05/29/12 01:14:11 PM UTC | 0 ⭐ | 311 👁️ | Never ⏰ | []
Java |

2.36 KB

|

None

|

0 👍

/

0 👎

package dogadjaji;
 
import grafika.Prozor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStreamReader;
import java.lang.reflect.Array;
 
import javax.swing.JOptionPane;
 
public class Oslus implements ActionListener
{
    Prozor p1;
    String slova;
    String strRed;
    String izlaz;
    public int lslova = 12;
    public int duz_temp = 0;
    public char rTemp[];
    public char rSlova[];
    int broj_reci =0;
    String top5;
 
    public void actionPerformed(ActionEvent dog) 
    {
        try {
            Odradi();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    
    public Oslus(Prozor _p1)
    {
        p1 = _p1;
        izlaz = "";
        
        rSlova = new char[12];
        rTemp = new char[12];
    }
    
    private void Odradi() throws Exception
    {
        
        slova = p1.unos.getText();
        
        if(slova.length() != 12)
        {
            JOptionPane.showMessageDialog(p1,"Potrebno je uneti tacno 12 slova!");
        }
        else
        {
            FileInputStream fstream = new FileInputStream("wordlist.txt");
            DataInputStream in = new DataInputStream(fstream);
            BufferedReader br = new BufferedReader(new InputStreamReader(in));
        
            slova = slova.toUpperCase();
        
            while((strRed = br.readLine()) != null)
            {
                strRed = strRed.toUpperCase();
                if(Uporedi(strRed) == true)
                {
                    izlaz = izlaz + "\n" + strRed;
                    broj_reci++;
                }
            }
            String [] reci = izlaz.split("\n");
            int k=0;
            top5 = "";
            for(int t=broj_reci; t>broj_reci-10; t--)
            {
                if(k == 9)
                {
                    top5 += reci[t];
                }
                else
                {
                    top5 += reci[t] + "\n";
                    k++;
                }
            }
        
            p1.izlaz.setText(top5);
            br.close();
        }
    }
    
    private boolean Uporedi(String temp)
    {
        duz_temp = temp.length();
        rTemp = temp.toCharArray();
        rSlova = slova.toCharArray();
        
        int i=0,j=0,jj=0,brojac=0;
        
        for(i=0; i<duz_temp; i++)
        {
            for(j=0; j<lslova-jj; j++)
            {
                if(rTemp[i] == rSlova[j])
                {
                    brojac++;
                    Premesti(j);
                    j++;
                    break;
                }
            }
        }
        
        if(brojac == duz_temp)
        {
            return true;
        }
        
        return false;
        
    }
    
    private void Premesti(int j)
    {
        int i;
        for(i=j; i<lslova-1; i++)
        {
            rSlova[i] = rSlova[i+1];
        }
        rSlova[i] = 'w'; //hack :)
    }
 
}

Comments