进化版四则运算

import java.awt.Color;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.util.ArrayList;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Yunsuan extends JFrame {
    private  JTextField textNum1;
    private  JTextField textNum2;
    private  JTextField result;
    private  JTextField result1;
    private  JComboBox opers;
     
    public Yunsuan() {
        init();
        setSize(300,100);
        setLocationRelativeTo(null);
        setTitle("小学生运算");
        setDefaultCloseOperation(3);
        setVisible(false);
    }
     
    private void init(){
        String[] operators = "+,-,*,/".split(",");
        textNum1 = new JTextField();
        textNum1.setColumns(10);
        textNum2 = new JTextField();
        textNum2.setColumns(10);
        result = new JTextField();
        result.setColumns(10);
        result1= new JTextField();
        result1.setColumns(10);
        opers = new JComboBox(operators);
        opers.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                int operator = opers.getSelectedIndex();
                double num1 = Double.parseDouble(textNum1.getText());
                double num2 = Double.parseDouble(textNum2.getText());
             switch(operator){
                case 0:result1.setText(num1 + num2+"");break;
                case 1:result1.setText(num1 - num2+"");break;
                case 2:result1.setText(num1 * num2+"");break;
                case 3:result1.setText(num1 / num2+"");break;
                }
                 
            }
           
        });
    
      
        
        JPanel p = new JPanel();
        p.add(textNum1);
        p.add(textNum2);
        p.add(opers);
        p.add(result);
        p.add(result1);
        this.add(p);
     
}
}

 

一、我们这次的代码是在Eclipse的环境下写的

二、做的四个方向分别为:

1.可以出表达式里含有负整数(负整数最小不小于-100)的题目,且负数需要带括号,用户输入的结果不用带括号。如: 2*(-4) = -8

2.用户答题结束以后,程序可以显示用户答题所用的时间

3.用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数

4.程序可以出单个整数阶乘的题目:如:4!=24

 

三、我的结伴队友是42陈志棚 博客地址:http://www.cnblogs.com/42chenzhipeng/


 

四、在这个结对任务中,他负责写,我检漏和辅助。

 

五、过程中我们遇到要解决的主要问题:

1、处理除法运算时要考虑除数不能为0的情况;
2、设置了按钮要处理按钮监听事件;



总结:这次的结对任务让我更懂得了如何与别人合作写一个程序,一开始的时候我是很不习惯和别人合作来写一段代码的,因为不知道怎么和和对方配合。

不过经过了几次的交流,我们慢慢有了默契。合作后我发现写代码的概率大大的提高了。

 

 

posted @ 2015-04-09 18:45  45徐侃  阅读(122)  评论(1编辑  收藏  举报