<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    march alex's blog
    hello,I am march alex
    posts - 52,comments - 7,trackbacks - 0
    今天開始準備寫一個Java可以跑得python編譯器。
    基本假設是這樣的:
        有一個JFrame,里面有一框,是輸入框也是輸出框,一開始如果有需要輸入的內容得先寫到上面去;
        然后單擊菜單欄打開python文件;
        然后得到的結果就會顯示出來。
    目前知識有了一個框架,當test.py內容為:
    print 123456789+123456789000000000
    時,運行程序,現(xiàn)實的效果如下:

    代碼如下:
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.StringTokenizer;

    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JList;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JTextArea;


    public class CompilerOpener extends JFrame {

        private static final int Width = 1000;
        private static final int Height = 600;
        private static JFrame frame = null;
        private static JTextArea textArea = null;
        
        
        public CompilerOpener() {
            frame = new JFrame("Java的python編譯器");
            
            textArea = new JTextArea();
            textArea.setLineWrap(true);// 激活自動換行功能
            frame.add(textArea);
            
            JMenuBar menuBar = new JMenuBar();
            frame.setJMenuBar(menuBar);
            
            JMenu fileMenu = new JMenu("文件");
            JMenuItem openItem = new JMenuItem("打開");
            openItem.addActionListener(new MyAction());
            fileMenu.add(openItem);
            menuBar.add(fileMenu);
            
            frame.setLocationRelativeTo(null);
            frame.setSize(Width, Height);
            frame.setLocation(100, 100);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setVisible(true);
        }
        
        private class MyAction implements ActionListener {
            public void actionPerformed(ActionEvent evt) {
                //Object s = evt.getSource();
                JFileChooser jfc=new JFileChooser();
                jfc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES );
                jfc.showDialog(new JLabel(), "選擇");
                File file=jfc.getSelectedFile();
                int file_len = file.toString().length();
                String ans = new String();
                if(!file.isFile() || !file.toString().substring(file_len-3, file_len).equals(".py")) {
                    ans = "請確定你選擇的文件是一個正確的python文件!";
                } else {
                    String content = textArea.getText();
                    ans += content;
                    ans += "結果:\n";
                    try {
                        BufferedReader reader = new BufferedReader(new FileReader(file.toString()));
                        String line = null;
                        try {
                            while((line = reader.readLine()) != null) {
                                StringTokenizer st = new StringTokenizer(line , " +");
                                String s , a , b;
                                s = st.nextToken();
                                a = st.nextToken();
                                b = st.nextToken();
                                char[] ca = a.toCharArray();
                                char[] cb = b.toCharArray();
                                int lena = ca.length, lenb = cb.length;
                                int c = 0,len = lena > lenb ? lena : lenb;
                                int[] aa = new int[len+1];
                                for(int i=0;i<len;i++) {
                                    if(lena-1-i >= 0)
                                        c += (ca[lena-1-i] - '0'); 
                                    if(lenb-1-i >= 0)
                                        c += (cb[lenb-1-i] - '0');
                                    aa[i] = c % 10;
                                    c /= 10;
                                }
                                if(c > 0) aa[len++] = 1;
                                for(int i=len-1;i>=0;i--) ans += aa[i];
                                ans += "\n";
                            }
                            textArea.setText(ans);
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    } catch (FileNotFoundException e) {
                        e.printStackTrace();
                    }
                    
                }
                
            }
        }
        
        public static void main(String[] args) {
            new CompilerOpener();
        }
    }
    posted on 2015-03-20 14:19 marchalex 閱讀(184) 評論(0)  編輯  收藏 所屬分類: java小程序
    主站蜘蛛池模板: 亚洲欧洲一区二区| 亚洲AV无码精品国产成人| 国产四虎免费精品视频| 美女被cao免费看在线看网站| 国外亚洲成AV人片在线观看| 精品国产免费一区二区三区香蕉 | 一本久久综合亚洲鲁鲁五月天| 激情综合亚洲色婷婷五月APP| 嫩草在线视频www免费观看 | 免费国产成人高清在线观看麻豆 | 19禁啪啪无遮挡免费网站| 亚洲第一综合天堂另类专| 亚洲美女又黄又爽在线观看| h视频在线观看免费| 亚洲国产中文在线视频| 亚洲视频免费在线播放| 国产精品亚洲综合一区在线观看| 免费人成在线观看网站品爱网日本| 亚洲av永久中文无码精品综合 | 亚洲熟妇无码一区二区三区导航| 在线a级毛片免费视频| 在线观看免费播放av片| 亚洲bt加勒比一区二区| 色欲色香天天天综合网站免费| 亚洲综合无码一区二区| 4455永久在线观免费看| 丰满妇女做a级毛片免费观看| 中文字幕人成人乱码亚洲电影 | 国产一卡二卡3卡四卡免费| 日本亚洲精品色婷婷在线影院| 成人性生免费视频| 久久午夜夜伦鲁鲁片免费无码| 亚洲码一区二区三区| 亚洲一区二区三区在线视频| 成人免费福利电影| 免费在线观看h片| 丁香花在线视频观看免费| 黄网站色视频免费观看45分钟| 国产亚洲精品AA片在线观看不加载| 中文字幕永久免费视频| 看Aⅴ免费毛片手机播放|