结对编程:简易四则运算

功能:进行简易的四则运算,并根据给出的结果判断正误。

实现:使用java的图形化界面实现。

导入包库

  package six;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.lang.*;

用于数字计算的Num类

 class Num{                              //定义数字类
private int a; public Num()
{
this.a = (int)(Math.random()*10000);
} public Num(int i)
{
this.a = (int)(Math.random()*4)+1;
} public int get_num()
{
return this.a;
} public int num_sum(Num B)
{
return this.a + B.a;
} public int num_dec(Num B)
{
return this.a - B.a;
} public int num_c(Num B)
{
return this.a * B.a;
} public int num_chu(Num B)
{
return this.a / B.a;
} public void flash()
{
this.a = (int)(Math.random()*100);
} public void flash_t()
{
this.a = (int)(Math.random()*4)+1;
} public boolean pd(int i)
{
if(this.a == i)
return true;
else
return false;
}
}

主类Main

public class Main {
private static Num a = new Num(); //a,b
private static Num b = new Num();
private static Num c = new Num(1);
private static int q = 0;
private static String p;
private static JFrame frame = new JFrame("简单四则运算");
private static JLabel label1 = new JLabel("A");
private static JLabel label2 = new JLabel("*");
private static JLabel label3 = new JLabel("B");
private static JLabel label4 = new JLabel(" "+"="+" ");
private static JLabel label5 = new JLabel("结果");
private static JButton button = new JButton("查看");
private static JButton bt1 = new JButton("下一题");
private static JButton bt2 = new JButton("退出");
private static JTextField text = new JTextField(5);
private static JPanel pane = new JPanel(); //容器 public static void main(String[] args) {
pane.setBorder(BorderFactory.createEmptyBorder(20,60,20,60));
pane.setLayout(new GridLayout(0,5)); //设置布局
pane.add(label1);
pane.add(label2);
pane.add(label3);
pane.add(label4);
pane.add(text);
pane.add(label5);
pane.add(button);
pane.add(bt1);
pane.add(bt2); if(c.pd(1))
{
p = "+";
q = a.num_sum(b);
}
if(c.pd(2))
{
p = "-";
q = a.num_dec(b);
}
if(c.pd(3))
{
p = "*";
q = a.num_c(b);
}
if(c.pd(4))
{
p = "/";
q = a.num_chu(b);
} frame.getContentPane().add(pane,BorderLayout.CENTER);
button.setMnemonic(KeyEvent.VK_I); button.addActionListener(new ActionListener(){ //鼠标单击事件
public void actionPerformed(ActionEvent e){
if(q == Integer.parseInt(text.getText().trim()))
label5.setText("正确!");
else
label5.setText("错误!"); }
}); bt1.setMnemonic(KeyEvent.VK_H);
bt1.addActionListener(new ActionListener(){ //鼠标单击事件
public void actionPerformed(ActionEvent e){
a.flash();
b.flash();
c.flash_t();
if(c.pd(1))
{
p = "+";
q = a.num_sum(b);
}
if(c.pd(2))
{
p = "-";
q = a.num_dec(b);
}
if(c.pd(3))
{
p = "*";
q = a.num_c(b);
}
if(c.pd(4))
{
p = "/";
q = a.num_chu(b);
}
label1.setText(" "+a.get_num()+" ");
label2.setText(p);
label3.setText(" "+b.get_num()+" ");
text.setText(" ");
label5.setText("结果");
}
}); bt2.setMnemonic(KeyEvent.VK_T);
bt2.addActionListener(new ActionListener(){ //鼠标单击事件
public void actionPerformed(ActionEvent e){
System.exit(0); }
});
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
label1.setText(" "+a.get_num()+" ");
label2.setText(p);
label3.setText(" "+b.get_num()+" "); frame.setVisible(true);
}
}

ssh://git@git.coding.net:amberpass/Calculate.git

https://git.coding.net/amberpass/Calculate.git

程序运行结果:

同组人:胡丽娜

1st 结对编程:简易四则运算的更多相关文章

  1. 结对编程项目——四则运算vs版

    结对编程项目--四则运算vs版 1)小伙伴信息:        学号:130201238 赵莹        博客地址:点我进入 小伙伴的博客 2)实现的功能: 实现带有用户界面的四则运算:将原只能在 ...

  2. 20175324王陈峤宇 2018-2019-2《Java程序设计》结对编程项目-四则运算 第一周 阶段性总结

    20175324王陈峤宇 2018-2019-2<Java程序设计>结对编程项目-四则运算 第一周 阶段性总结 需求分析 这次的结对作业是要求我们利用栈来设计一个计算器. 自动生成四则运算 ...

  3. 20175229许钰玮 2018-2019-2《Java程序设计》结对编程项目-四则运算 第一周 阶段性总结

    20175229许钰玮 2018-2019-2<Java程序设计>结对编程项目-四则运算 第一周 阶段性总结 需求分析 自动生成四则运算题目(加.减.乘.除). 既可以用前缀算法(波兰算法 ...

  4. 20175311胡济栋 2018-2019-2《Java程序设计》结对编程项目-四则运算 第二周 阶段性总结

    20175311胡济栋 2018-2019-2<Java程序设计>结对编程项目-四则运算 第二周 阶段性总结 需求分析 这是利用栈来设计一个计算器的第二阶段总结. 自动生成四则运算的题目( ...

  5. 20165223 结对编程之四则运算week2-整体总结

    目录 一.结对对象 二.需求分析 三.设计思路 四.核心代码 五.功能截图 六.结对感受 一.结对对象 担任角色(本周交换角色,流动学习) 驾驶员(Driver):20165218 赵冰雨(是控制键盘 ...

  6. 20165223 结对编程之四则运算week1-阶段性总结

    目录 一.结对对象 二.需求分析 三.设计思路 四.功能截图 五.结对感受 一.结对对象 担任角色 驾驶员(Driver):20165223 蔡霓(是控制键盘输入的人) 领航员(Navigator): ...

  7. 2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-最后阶段

    2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-最后阶段 最后的一周,时间越来越紧张,因为之前的拖沓和一些事情的耽误,导致了如今的紧张,这一周应该是我们小组效率最高 ...

  8. 2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-准备阶段

    2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-准备阶段 在一个人孤身奋斗了将近半个学期以后,终于迎来的我们的第一次团队协作共同编码,也就是,我们的第一个结对编程练 ...

  9. 2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-中坚阶段

    2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-中坚阶段 如今的编写,进入了一段时间的中坚阶段,小伙伴的思路虽然很一致,但是总是存在着一定问题,这就造成了我们中坚阶 ...

随机推荐

  1. C语言可变参数函数详解示例

    先看代码 printf(“hello,world!”);其参数个数为1个. printf(“a=%d,b=%s,c=%c”,a,b,c);其参数个数为4个. 如何编写可变参数函数呢?我们首先来看看pr ...

  2. 坚果云WebDav示例

    坚果云WebDav示例 最近看到坚果云有一个WebDAV应用,一时不解这是什么功能,了解后做了一个示例: WebDAV是一种基于HTTP1.1协议的通信协议.它扩展了HTTP1.1,在GET.POST ...

  3. 并查集(模板&典型例题整理)

    参考:https://blog.csdn.net/oliver233/article/details/70162173 带路径压缩模板: #include<stdio.h> ]; int ...

  4. 20155216 2017-2018-1 《信息安全系统设计基础》第二周课堂练习补交以及Myod的实现

    20155216 2017-2018-1 <信息安全系统设计基础>第二周课堂练习补交 课堂测试3:行断点的设置 运行截图: 未完成原因:课前未安装 cgdb 具体步骤: 1.输入命令:gc ...

  5. 20155330 实验三 敏捷开发与XP实践

    20155330 实验三 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 实验步骤 (一)敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过程. ...

  6. 在SQL SERVER中批量替换字符串的方法

    UPDATE MainData SET Content = )) , 'XM00000137' , 'XM00000078') WHERE [Key] IN (SELECT md_key FROM i ...

  7. 4709: [Jsoi2011]柠檬

    4709: [Jsoi2011]柠檬 https://www.lydsy.com/JudgeOnline/problem.php?id=4709 分析: 决策单调性+栈+二分. 首先挖掘性质:每个段选 ...

  8. [SDOI2010]地精部落 DP

    LG传送门 DP好题 题意很简单,就是求1-n的排列,满足一个数两边的数要么都比它大要么都比它小,求这样的排列个数对\(p\)取膜的值(为了表述简单,我们称这样的排列为波动序列). 这个题我第一眼看到 ...

  9. axios封装(一)基础配置

    axios 是目前流行的Promise网络请求库,在浏览器端他通过 xhr方式创建ajax请求.在node环境下,通过 http 库创建网络请求. axios 提供了丰富的配置,这里讲一讲我在工作中通 ...

  10. Lua学习笔记(2): 流程控制与循环以及初涉迭代器

    条件判断语句 --if...语句 if (表达式) then --表达式为1时执行的语句 end --if...else语句 if (表达式) then --表达式为1时执行的语句 else --表达 ...