• 结对作业(11陈梓仪,21林庆光) 四则运算


    由于这次作业是用结对模式完成,因此我选择了同组成员21林庆光同学组成一个队伍(博客地址http://www.cnblogs.com/guangge/)。我们这次的代码是在Eclipse环境下调试的,这次四则运算在原有作业的基础上进行了拓展,拓展的4个方向分别是:

    1. 可以出表达式里含有负整数(负整数最小不小于-100)的题目,且负数需要带括号,用户输入的结果不用带括号。如: 2*(-4) = -8
    2. 用户答题结束以后,程序可以显示用户答题所用的时间
    3. 程序可以出单个整数阶乘的题目:如:4!=24
    4. 程序可以设置皮肤功能,可以改变界面的颜色即可。  

    这次完成作业的过程中,我们运用了java 中WINDOWS building工具来制作界面,这个工作主要是由林庆光同学完成的,而同伴也完成了皮肤功能  ,而我则主要负责完成剩下的三个拓展。当然在编程的过程中遇到了各种各样的难题,我们通过网上百度,以及询问同学将其一一解决 。比如“用户答题结束以后,程序可以显示用户答题所用的时间”

    这个功能,我们就完全没有方向,在百度的情况下才将问题解决。

      这次结对编程我们收获良多,体会到结对编程时的高效和快捷,以及两人合作时思想碰撞的火花,当然互相之间也会争执,不过这样才会有收获,提高自己的编程能力,领略到软件工程的编程思想。以下是我们的源程序代码:

    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.math.*;
    
    public class YUNSUAN {
    
        private JFrame frame;
        private JTextField textField;
        private JTextField textField_1;
        private JTextField textField_2;
        public int d;
        public int h;
        public int f=0;
        public int g=0;
        public int a;
        public int b;
        public int c;
        public int sum;
        private JTextField textField_3;
        public long startMili;
        public long endMili;
        
        /**
         * Launch the application.
         */
        public static void main(String[] args) {
            EventQueue.invokeLater(new Runnable() {
                public void run() {
                    try {
                        YUNSUAN window = new YUNSUAN();
                        
                        window.frame.setVisible(true);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            });
        }
    
        /**
         * Create the application.
         */
        public YUNSUAN() {
            initialize();
        }
    
        /**
         * Initialize the contents of the frame.
         */
        private void initialize() {
            frame = new JFrame("四则运算");
            frame.setBounds(100, 100, 450, 300);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.getContentPane().setLayout(null);
            frame.setVisible(true);
            
            final JPanel panel = new JPanel();
            panel.setBounds(0, 0, 434, 262);
            frame.getContentPane().add(panel);
            panel.setLayout(null);
            //panel.setBackground(Color.red);
            
            JButton button = new JButton("u5F00u59CB");
            button.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent o) {
                     c=(int)(Math.random()*5)+1;
                     a=(int)(Math.random()*(-200))+100;    
                     b=(int)(Math.random()*(-200))+100; 
                     f=(int)(Math.random()*10)+1;
                     startMili=System.currentTimeMillis();
                     switch(c)
                     {
                     case 1:
                     {
                         d=a+b;
                         if(a<0 && b>0)
                         {
                             textField.setText("("+a+")"+"+"+b+"=");
                         }
                         else if(a<0 && b<0)
                         {
                             textField.setText("("+a+")"+"+"+"("+b+")"+"=");
                         }
                         else if(a>0 && b<0)
                         {
                             textField.setText(a+"+"+"("+b+")"+"=");
                         }
                         else{                         
                             textField.setText(a+"+"+b+"=");
                         }
                        // h=Integer.parseInt(textField_1.getText());
                        // h=Double.parseDouble(textField_1.getText());
                         break;
                         
                        
                         
                     }
                     case 2:
                     {
                         d=a-b;
                         if(a<0 && b>0)
                         {
                             textField.setText("("+a+")"+"-"+b+"=");
                         }
                         else if(a<0 && b<0)
                         {
                             textField.setText("("+a+")"+"-"+"("+b+")"+"=");
                         }
                         else if(a>0 && b<0)
                         {
                             textField.setText(a+"-"+"("+b+")"+"=");
                         }
                         else{                         
                             textField.setText(a+"-"+b+"=");
                         }
                        // h=Integer.parseInt(textField_1.getText());
                        // h=Double.parseDouble(textField_1.getText());
                         break;
                        
                        
                     }
                     case 3:
                     {
                         d=a*b;
                         if(a<0 && b>0)
                         {
                             textField.setText("("+a+")"+"*"+b+"=");
                         }
                         else if(a<0 && b<0)
                         {
                             textField.setText("("+a+")"+"*"+"("+b+")"+"=");
                         }
                         else if(a>0 && b<0)
                         {
                             textField.setText(a+"*"+"("+b+")"+"=");
                         }
                         else{                         
                             textField.setText(a+"*"+b+"=");
                         }
                        // h=Integer.parseInt(textField_1.getText());
                        //h=Double.parseDouble(textField_1.getText());
                         break;
                        
                     }
                     case 4:
                     {
                         d=a/b;
                         System.out.print(d);
                         if(a<0 && b>0)
                         {
                             textField.setText("("+a+")"+"/"+b+"=");
                         }
                         else if(a<0 && b<0)
                         {
                             textField.setText("("+a+")"+"/"+"("+b+")"+"=");
                         }
                         else if(a>0 && b<0)
                         {
                             textField.setText(a+"/"+"("+b+")"+"=");
                         }
                         else{                         
                             textField.setText(a+"/"+b+"=");
                         }
                        // h=Integer.parseInt(textField_1.getText());
                        // h=Double.parseDouble(textField_1.getText());
                         break;
                         
                     }
                     case 5:
                     {
                         sum=1;
                         for(int i=1;i<=f;i++)
                         {
                            sum=sum*i;
                         }
                         d=sum;
                         textField.setText(f+"!"+"=");
                        // h=Integer.parseInt(textField_1.getText());
                        // h=Double.parseDouble(textField_1.getText());
                         break;
                         
                     }
                     }
                }
            });
            button.setBounds(166, 22, 93, 23);
            panel.add(button);
            
            JLabel label = new JLabel("u9898u76EE");
            label.setBounds(51, 61, 54, 15);
            panel.add(label);
            
            textField = new JTextField();
            textField.setBounds(119, 57, 220, 23);
            panel.add(textField);
            textField.setColumns(100);
            
            JLabel label_1 = new JLabel("u7528u6237u8F93u5165");
            label_1.setBounds(51, 101, 54, 15);
            panel.add(label_1);
            
            textField_1 = new JTextField();
            textField_1.setBounds(119, 98, 220, 18);
            panel.add(textField_1);
            textField_1.setColumns(100);
            
            JLabel label_2 = new JLabel("u53CDu9988u4FE1u606F");
            label_2.setBounds(51, 140, 54, 15);
            panel.add(label_2);
            
            textField_2 = new JTextField();
            textField_2.setBounds(119, 137, 220, 23);
            panel.add(textField_2);
            textField_2.setColumns(100);
            
            JButton btnNewButton = new JButton("u786Eu5B9A");
            btnNewButton.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent o) {
                    endMili=System.currentTimeMillis();
                     h=Integer.parseInt(textField_1.getText());
                    if(d==h)
                    {
                        textField_2.setText("恭喜你答对了");
                        textField_3.setText("一共耗时"+(endMili-startMili)+"毫秒");
                    }
                    else
                    {
                        textField_2.setText("很抱歉,正确答案是"+d);
                        textField_3.setText("一共耗时"+(endMili-startMili)+"毫秒");
                    }
                }
            });
            btnNewButton.setBounds(349, 97, 61, 23);
            panel.add(btnNewButton);
            
            JLabel label_3 = new JLabel("u8017u65F6");
            label_3.setBounds(51, 172, 54, 15);
            panel.add(label_3);
            
            textField_3 = new JTextField();
            textField_3.setBounds(119, 170, 220, 23);
            panel.add(textField_3);
            textField_3.setColumns(10);
            
            JButton btnNewButton_1 = new JButton("u7EE7u7EED");
            btnNewButton_1.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                     c=(int)(Math.random()*5)+1;
                     a=(int)(Math.random()*(-200))+100;    
                     b=(int)(Math.random()*(-200))+100; 
                     f=(int)(Math.random()*10)+1;
                     startMili=System.currentTimeMillis();
                     switch(c)
                     {
                     case 1:
                     {
                         d=a+b;
                         if(a<0 && b>0)
                         {
                             textField.setText("("+a+")"+"+"+b+"=");
                         }
                         else if(a<0 && b<0)
                         {
                             textField.setText("("+a+")"+"+"+"("+b+")"+"=");
                         }
                         else if(a>0 && b<0)
                         {
                             textField.setText(a+"+"+"("+b+")"+"=");
                         }
                         else{                         
                             textField.setText(a+"+"+b+"=");
                         }
                        // h=Integer.parseInt(textField_1.getText());
                        // h=Double.parseDouble(textField_1.getText());
                         break;
                         
                        
                         
                     }
                     case 2:
                     {
                         d=a-b;
                         if(a<0 && b>0)
                         {
                             textField.setText("("+a+")"+"-"+b+"=");
                         }
                         else if(a<0 && b<0)
                         {
                             textField.setText("("+a+")"+"-"+"("+b+")"+"=");
                         }
                         else if(a>0 && b<0)
                         {
                             textField.setText(a+"-"+"("+b+")"+"=");
                         }
                         else{                         
                             textField.setText(a+"-"+b+"=");
                         }
                        // h=Integer.parseInt(textField_1.getText());
                        // h=Double.parseDouble(textField_1.getText());
                         break;
                        
                        
                     }
                     case 3:
                     {
                         d=a*b;
                         if(a<0 && b>0)
                         {
                             textField.setText("("+a+")"+"*"+b+"=");
                         }
                         else if(a<0 && b<0)
                         {
                             textField.setText("("+a+")"+"*"+"("+b+")"+"=");
                         }
                         else if(a>0 && b<0)
                         {
                             textField.setText(a+"*"+"("+b+")"+"=");
                         }
                         else{                         
                             textField.setText(a+"*"+b+"=");
                         }
                        // h=Integer.parseInt(textField_1.getText());
                        //h=Double.parseDouble(textField_1.getText());
                         break;
                        
                     }
                     case 4:
                     {
                         d=a/b;
                         
                         if(a<0 && b>0)
                         {
                             textField.setText("("+a+")"+"/"+b+"=");
                         }
                         else if(a<0 && b<0)
                         {
                             textField.setText("("+a+")"+"/"+"("+b+")"+"=");
                         }
                         else if(a>0 && b<0)
                         {
                             textField.setText(a+"/"+"("+b+")"+"=");
                         }
                         else{                         
                             textField.setText(a+"/"+b+"=");
                         }
                        // h=Integer.parseInt(textField_1.getText());
                        // h=Double.parseDouble(textField_1.getText());
                         break;
                         
                     }
                     case 5:
                     {
                         sum=1;
                         for(int i=1;i<=f;i++)
                         {
                            sum=sum*i;
                         }
                         d=sum;
                         textField.setText(f+"!"+"=");
                        // h=Integer.parseInt(textField_1.getText());
                        // h=Double.parseDouble(textField_1.getText());
                         break;
                         
                     }
                     }
                     textField_1.setText("");
                     textField_2.setText("");
                     textField_3.setText("");
                }
                 
                
            });
            btnNewButton_1.setBounds(349, 137, 61, 23);
            panel.add(btnNewButton_1);
            
            JButton button_1 = new JButton("u8BBEu7F6Eu80CCu666Fu989Cu8272");
            button_1.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    g=(int)(Math.random()*5)+1;
                    switch(g)
                    {
                    case 1:
                    {
                        panel.setBackground(Color.red);
                        break;
                    }
                    case 2:
                    {
                        panel.setBackground(Color.blue);
                        break;
                    }
                    case 3:
                    {
                        panel.setBackground(Color.yellow);
                        break;
                    }
                    case 4:
                    {
                        panel.setBackground(Color.pink);
                        break;
                    }
                    case 5:
                    {
                        panel.setBackground(Color.green);
                        break;
                    }
                    }
                    
                }
            });
            button_1.setBounds(153, 213, 122, 23);
            panel.add(button_1);
        }
    
    }

  • 相关阅读:
    Oracle 分析函数(Analytic Functions) 说明
    Build Your Own Oracle RAC 10g Release 2 Cluster on Linux and FireWire
    Build Your Own Oracle RAC 10g Release 2 Cluster on Linux and FireWire
    ORACLE SEQUENCE 介绍
    RAC Ocfs2文件系统常见问题解决方法
    linux 下修改日期和时间
    寒假刷题之7——波纹
    iOS 游戏 Oh my fish! 切割痕迹实现
    ACM常识
    寒假刷题之6——迷宫
  • 原文地址:https://www.cnblogs.com/chenziyi/p/4409886.html
Copyright © 2020-2023  润新知