进化版四则运算

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、设置了按钮要处理按钮监听事件;

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

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

时间: 2024-11-03 11:42:16

进化版四则运算的相关文章

从零开始学Swift之Hello World进化版

上节课,也就是昨晚啦,我们学习到从零开始学Swift之Hello World,那一节只有一句代码,大家会觉得不够过瘾.那么这节课,就给大家来多点瘾货吧! 先上图! //var 代表变量的类型, start 代表变量的名称, "Hello" 代表变量的值. var start = "Hello" var dot = " , " var end = "world!" // let 是什么意思呢? let total = start

分享:进化版动漫更新提醒(微信及软件)

微信版动漫更新提醒,搜索公众平台: 微伍网 1;,然后在里面找动漫更新提醒当你关注的动漫 更新时,微信马上发信息提醒你关注的动漫已更新到哪集 动漫更新提醒pc端: 当你的软件在后台运行的时候,你关注的动漫在网络上有更新的话,马上发信息和音乐给你,提醒你看最新的动漫.提示音乐跟图片都是可以替换的. 欢迎测试使用,qq:645310824 保留一切权利,版权所有--YongHao Hu 分享:进化版动漫更新提醒(微信及软件)

从零開始学Swift之Hello World进化版

上节课,也就是昨晚啦,我们学习到从零開始学Swift之Hello World.那一节仅仅有一句代码,大家会认为不够过瘾. 那么这节课,就给大家来多点瘾货吧! 先上图! //var 代表变量的类型, start 代表变量的名称. "Hello" 代表变量的值. var start = "Hello" var dot = " , " var end = "world!" // let 是什么意思呢? let total = sta

四则运算进化版设计思想

设计思想: 1.题目避免重复 (1)调用系统时间函数,将生成的运算式存储,将新的运算式与已生成式子做比较,若相同则不输出,不同则输出 2.可定制(数量/打印方式) (1)提示用户输入题目数量,打印方式,从键盘输入 3.(1)是否有乘除法 在输入之前提示用户是否有乘除法,若没有,则只输出加减法 (2)是否有括号 (3)数值范围 由用户设置数值范围,如果输入不合法,提示输入错误,请重新输入,在随机生成数中保证随机数在用户设置的数值范围 (4)加减有无负数 如果没有负数,比较生成的两个数,保证做减法时

web版四则运算

题目:实现网页上的四则运算练习 设计思路:(整数为例)首先首页为选择做题的类型,用单选框进行选择,之后跳转到相应的页面进行题目规范的输入,例如:最大最小值,输入后进行提交,确认输入的信息无误,如果有误跳回页面,无误后转入出题页面,出一道题写一道题的答案,之后用session进行答案等的保存,将值传入到判断正误的页面,对输出正确,错输出错误和正确结果,题目全部做完进行结果的查看,点击返回主页,则返回到主页.主要是各种值得保存和调用,还有输入规范的判断.(分数和带括号的式子同理). 源代码: cho

安卓版四则运算

1 package com.example.add; 2 3 import java.io.BufferedWriter; 4 import java.io.File; 5 import java.io.FileWriter; 6 import java.io.IOException; 7 8 import com.example.add.opt; 9 10 import java.text.DecimalFormat; 11 12 import android.support.v7.app.A

网页版四则运算(未全部完成)

这次作业一直在做,一直在拖着,总感觉心里亏欠点什么,但是人就是这样,一件事情本来做起来就没有太多成功的几率,就想着延长工期,那就一直拖着吧,拖得时间越久你就会越发清晰地意识到自己已经非常触头去做那件事情了,仿佛它成了你的软肋,仿佛你命中注定就该不会去解决它一般.幸好,我还有继续做下去的勇气... ———来自星星的感悟 实现思路:其实思路并不难. 1. 先编写一个运行界面HTML文件,用DW做非常简单.界面中包含定量的一些数据:比如参加运算的个数,运算数据的范围 2.以及一些用户输入的数据,如:计

Mahout-HashMap的进化版FastByIdMap

FastByIdMap是基于散列的,在处理冲突时是线性探测而非分离链接,这样就不必为每一个条目增加一个Map.Entry对象,从而节省内存开销. 下面代码是一个线性探测Map的Demo: package com.example.mahout; public class ArrayHashST_Linear_Probing<Key, Val> { private int M = 30001; private Key[] keys = (Key[]) new Object[M]; private

#DDBMS#冗余docker网络(进化版)

环境准备: vmware中配置四台ubuntu server 14.04(你可以只安装一个系统,使用克隆功能克隆出另外三台ubuntu),配置好SSH 每台机器配置两个网卡,像openstack一样,分Internal和External IP.这里我让eth0(NAT)作为 External,eth1(host-only)作为Internal. 拓扑图如下: 安装OVS: 具体安装教程参考这里:http://www.sdnlab.com/3166.html 附上我的OVS启动脚本: ovs_la