Java Da Kod İşleyiş Zamanını Nasıl Gösterebilirim?
-
anasayfa.java
package odev; import java.awt.BorderLayout; import java.awt.EventQueue; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import javax.swing.JFileChooser; import javax.swing.JTextField; import javax.swing.SwingConstants; import javax.swing.JLabel; import javax.swing.JButton; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.awt.Color; import java.awt.SystemColor; public class anasayfa extends JFrame { private JPanel contentPane; private JTextField textField; private JTextField textField_1; SMN sonuc=new SMN(); SMN sonuc1=new SMN(); /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { anasayfa frame = new anasayfa(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public anasayfa() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 636, 450); contentPane = new JPanel(); contentPane.setBackground(Color.PINK); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); textField = new JTextField(); textField.setHorizontalAlignment(SwingConstants.CENTER); textField.setBounds(73, 99, 124, 20); contentPane.add(textField); textField.setColumns(10); textField_1 = new JTextField(); textField_1.setText(""); textField_1.setBounds(73, 23, 130, 34); contentPane.add(textField_1); textField_1.setColumns(10); JLabel lblPatern = new JLabel("Patern"); lblPatern.setBounds(10, 102, 46, 14); contentPane.add(lblPatern); JLabel lblMetin = new JLabel("Metin"); lblMetin.setBounds(10, 35, 46, 14); contentPane.add(lblMetin); JLabel lblKarlatrma = new JLabel(".."); lblKarlatrma.setBounds(102, 207, 296, 26); contentPane.add(lblKarlatrma); JLabel lblEleme = new JLabel(".."); lblEleme.setBounds(102, 244, 77, 28); contentPane.add(lblEleme); JLabel lblMs = new JLabel(".."); lblMs.setBounds(102, 283, 77, 34); contentPane.add(lblMs); JButton btnNewButton = new JButton("1"); btnNewButton.setForeground(SystemColor.desktop); btnNewButton.setBackground(SystemColor.activeCaption); btnNewButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { List<Integer> asd=sonuc.findAll(textField.getText(),textField_1.getText()); int k=0; String text = ""; long baslangic = System.currentTimeMillis(); System.out.println("Başlangıç : " + Long.toString(baslangic)); for(Iterator<Integer> i = asd.iterator(); i.hasNext(); ) { Integer item = i.next(); text += item.toString() + " "; k++; } lblKarlatrma.setText(text); lblEleme.setText(String.valueOf(k)); long bitis = System.currentTimeMillis(); System.out.println("Bitiş : " + Long.toString(bitis)); long gecenSure = bitis - baslangic; String sayi8 = Long.toString(gecenSure); lblMs.setText(sayi8); baslangic=0; bitis=0; } }); btnNewButton.setBounds(261, 31, 89, 23); contentPane.add(btnNewButton); JButton btnNewButton_1 = new JButton("2"); btnNewButton_1.setBackground(SystemColor.inactiveCaption); btnNewButton_1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { /*SMN asd1=new SMN(); SMN fd=asd1.compile(textField.getText()); String td=fd.toString(); System.out.println (fd.ell); System.out.println (fd.m); System.out.println (fd.list); System.out.println (fd.x); */ List<Integer> asd=sonuc.findAll(textField.getText(),textField_1.getText()); int k=1; String text1 = ""; for(Iterator<Integer> i = asd.iterator(); i.hasNext(); ) { Integer item = i.next(); text1 +=k+" adim="+ item.toString() + " "; k++; } lblKarlatrma.setText(text1); } }); btnNewButton_1.setBounds(261, 81, 89, 23); contentPane.add(btnNewButton_1); JButton btnNewButton_2 = new JButton("3"); btnNewButton_2.setBackground(SystemColor.inactiveCaption); btnNewButton_2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { JFileChooser dosya_secme = new JFileChooser (); dosya_secme.setCurrentDirectory ( new File ( "." ) ); dosya_secme.setDialogTitle ("DOSYA SEÇME PENCERESÝ"); dosya_secme.setFileSelectionMode ( JFileChooser.FILES_ONLY ); int donus_degeri = dosya_secme.showOpenDialog ( null ); // EÐERdonus_degeri VARSA DÝYE KONTROL EDERÝZ if ( donus_degeri == JFileChooser.APPROVE_OPTION ) { System.out.println ("dosya seçildi"); // DOSYA YOLUNU EKRANA YAZDIRIRIZ System.out.println ("dosya yolu " + dosya_secme.getSelectedFile ().getAbsolutePath () ); } else { // EÐER DÖNÜÞ DEÐERÝ YOKSA DOSYA SEÇÝLMEDÝ DÝYE EKRANA YAZAR System.out.println ("DOSYa SEÇÝLMEDÝ "); } File file = new File(dosya_secme.getSelectedFile ().getAbsolutePath ()); BufferedReader reader = null; try { reader = new BufferedReader(new FileReader(file)); String satir = reader.readLine(); lblKarlatrma.setText(satir); List<Integer> asd=sonuc.findAll(textField.getText(),satir); String text1 = ""; int k=0; for(Iterator<Integer> i = asd.iterator(); i.hasNext(); ) { Integer item = i.next(); text1 += item.toString() + " "; k++; } lblKarlatrma.setText(text1); lblEleme.setText(String.valueOf(k)); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); btnNewButton_2.setBounds(261, 128, 89, 23); contentPane.add(btnNewButton_2); JLabel label = new JLabel("Kar\u015F\u0131la\u015Ft\u0131rma:"); label.setBounds(10, 207, 296, 26); contentPane.add(label); JLabel label_1 = new JLabel("E\u015Fle\u015Fme:"); label_1.setBounds(10, 244, 77, 28); contentPane.add(label_1); JLabel label_2 = new JLabel("m/s:"); label_2.setBounds(10, 283, 77, 34); contentPane.add(label_2); } }
SMN.java
package odev; import java.util.ArrayList; import java.util.List; public class SMN { public static int getTransition(char[] x, int p, Cell[] lst, char c) { int m = x.length; Cell cell; if (p < m - 1 && x[p + 1] == c) return (p + 1); else if (p > -1) { cell = lst[p]; while (cell != null) if (x[cell.element] == c) return (cell.element); else cell = cell.next; return (-1); } else return (-1); } public static void setTransition(int p, int q, Cell[] list) { Cell cell = new Cell(); cell.element = q; cell.next = list[p]; list[p] = cell; } public static int preSimon(char[] x, Cell[] list) { int i, k, ell, m = x.length; Cell cell; for (i = 0; i < (m - 2); i++) list[i] = null; ell = -1; for (i = 1; i < m; ++i) { k = ell; cell = (ell == -1 ? null : list[k]); ell = -1; if (x[i] == x[k + 1]) ell = k + 1; else setTransition(i - 1, k + 1, list); while (cell != null) { k = cell.element; if (x[i] == x[k]) ell = k; else setTransition(i - 1, k, list); cell = cell.next; } } return (ell); } public List<Integer> findAll(String pattern, String source) { char[] x = pattern.toCharArray(), y = source.toCharArray(); int j, ell, state, m = x.length, n = y.length; Cell[] list = new Cell[m]; List<Integer> result = new ArrayList<Integer>(); /* Preprocessing */ ell = preSimon(x, list); /* Searching */ for (state = -1, j = 0; j < n; ++j) { state = getTransition(x, state, list, y[j]); if (state >= m - 1) { result.add(j - m + 1); state = ell; } } return result; } public SMN compile(String pattern) { char[] x = pattern.toCharArray(); int ell, m = x.length; Cell[] list = new Cell[m]; ell = preSimon(x, list); SMN smn = new SMN(); smn.ell = ell; smn.list = list; smn.m = m; smn.x = x; return smn; } public List<Integer> findAll(String source) { char[] y = source.toCharArray(); int j, state, n = y.length; List<Integer> result = new ArrayList<Integer>(); for (state = -1, j = 0; j < n; ++j) { state = getTransition(x, state, list, y[j]); if (state >= m - 1) { result.add(j - m + 1); state = ell; } } return result; } private char[] x; private int ell, m; private Cell[] list; private static class Cell { int element; Cell next; } } jj
-
kodlar bunlar deneyebilir misiniz?