• Java利用图灵机器人接口实现简单的聊天程序


    package test;
    
    import java.awt.EventQueue;
    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.Timer;
    import javax.swing.JTextField;
    import javax.swing.JTextArea;
    import javax.swing.JLabel;
    import java.awt.Color;
    import java.awt.event.ActionListener;
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.net.URLEncoder;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.awt.event.ActionEvent;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    
    public class Test{
    
        private JFrame frame;
        private JTextField textField;
        private JLabel lblNewLabel,lblNewLabel_1;
        private JTextArea textArea;
        /**
         * Launch the application.
         */
        
         private void setTimer(JLabel time){   
                final JLabel varTime = time;   
                Timer timeAction = new Timer(1000, new ActionListener() {          
          
                    public void actionPerformed(ActionEvent e) {       
                        long timemillis = System.currentTimeMillis();
                        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");   
                        varTime.setText(df.format(new Date(timemillis)));   
                    }      
                });            
                timeAction.start();        
            }   
        public static void main(String[] args) {
            EventQueue.invokeLater(new Runnable() {
                public void run() {
                    try {
                        Test window = new Test();
                        window.frame.setVisible(true);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            });
        }
    
        /**
         * Create the application.
         */
        public Test() {
            initialize();
        }
        String chat(String quesiton) throws IOException
        {
            String APIKEY="f0feee3416c846a6be5fdc523b372c20";
            String INFO=URLEncoder.encode(quesiton, "utf-8");
            String getURL = "http://www.tuling123.com/openapi/api?key=" + APIKEY + "&info=" + INFO;
            URL getUrl = new URL(getURL);
            HttpURLConnection connection = (HttpURLConnection) getUrl.openConnection();
            connection.connect();
            
            BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "utf-8"));
            StringBuffer sb = new StringBuffer();
            String line="";
            while ((line = reader.readLine()) != null) 
                sb.append(line);
                
            reader.close();
            connection.disconnect();
            
            String[] ss = new String[10];
            String s = sb.toString();
            String answer;
            ss = s.split(":");
            answer = ss[ss.length-1];
            answer = answer.substring(1,answer.length()-2);
            return answer;
        }
    
        /**
         * Initialize the contents of the frame.
         */
        private void initialize() {
            frame = new JFrame("Origami");
            frame.setResizable(false);
            frame.setBackground(Color.WHITE);
            frame.setBounds(100, 100, 729, 424);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.getContentPane().setLayout(null);
            
            ImageIcon icon=new ImageIcon(getClass().getResource("/timg.jpg"));
            lblNewLabel=new JLabel(icon);
            lblNewLabel.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    textArea.setText("干嘛点我...");
                }
            });
            lblNewLabel.setBounds(423, 0, 277, 309);
            frame.getContentPane().add(lblNewLabel);
            
            textField = new JTextField();
            textField.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    String question=textField.getText();
                    try {
                        String answer=chat(question);
                        textArea.setText(answer);
                    } catch (IOException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                }
            });
            textField.setBounds(14, 322, 395, 24);
            frame.getContentPane().add(textField);
            textField.setColumns(10);
            
            lblNewLabel_1 = new JLabel();
            lblNewLabel_1.setBounds(516, 314, 143, 41);
            frame.getContentPane().add(lblNewLabel_1);
            this.setTimer(lblNewLabel_1);
            
            textArea = new JTextArea();
            textArea.setLineWrap(true);
            textArea.setWrapStyleWord(true);
            textArea.setBounds(14, 13, 395, 296);
            frame.getContentPane().add(textArea);
        }
    }
  • 相关阅读:
    58:二叉树的下一个节点
    57:删除链表中重复的结点
    56:链表中环的入口结点
    55:字符流中第一个不重复的字符
    54:表示数值的字符串
    53:正则表达式匹配
    52:构建成绩数组
    51:数组中重复的数字
    每个努力奋斗过的人,被不公正的际遇砸了满头包的时候,都有那么一瞬间的代入感。出生就是hard模式的人,早已经历了太多的劳其筋骨饿其体肤,再多的人为考验只会摧毁人对美好的向往。
    ClientValidationEnabled
  • 原文地址:https://www.cnblogs.com/NDKY9/p/8051579.html
Copyright © 2020-2023  润新知