java 四则运算gui_结对编程-四则运算GUI的实现
一、项目成员以及coding地址:
二、结对编程题目描述
在个人作业1中,用各种语言实现了一个命令行的四则运算小程序。进一步,本次要求把这个程序做成GUI,成为一个有基本功能、一定价值的程序。在下面的功能需求中实现两个:
记录用户的对错总数,程序退出再启动的时候,能把以前的对错数量保存并在此基础上增量计算。
记录用户的对错总数,程序退出再启动的时候,能把以前的对错数量保存并在此基础上增量计算。
有计时功能,能显示用户开始答题后的消耗时间;
界面支持中文简体/中文繁体/英语,用户可以选择一种。
三、需求分析
将上次基于控制台的代码写成GUI界面;
设置“英语|简体中文|繁体中文”选项;
开始答题并记录答题时间。
四、思维导图
五、项目实现
语言选择的代码实现
private void initialize() {
// TODO Auto-generated method stub
frame = new JFrame();
if(lang == 1){
frame.setTitle("arithmetic");
}
else if(lang == 2){
frame.setTitle("四则运算");
}
else{
frame.setTitle("四則運算");
}
frame.setSize(900, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Label Title = new Label("題目:", Label.CENTER);
Label ans = new Label("答案:", Label.CENTER);
Label time = new Label("用時:", Label.CENTER);
Label right = new Label("正確數量:", Label.CENTER);
Label wrong = new Label("錯誤數量:", Label.CENTER);
final Label Titles = new Label();
final JTextField anss = new JTextField(12);
final Label rns = new Label();
final Label times = new Label();
final Label rights = new Label();
final Label wrongs = new Label();
JButton next = new JButton("下一題");
next.setFont(new Font("宋体", Font.PLAIN, 16));
JButton check = new JButton("檢查答案");
check.setFont(new Font("宋体", Font.PLAIN, 16));
if(lang == 1){
Title.setText("quiz:");
ans.setText("answer: ");
time.setText("time:");
right.setText("correct:");
wrong.setText("wrong:");
next.setText("next");
check.setText("check");
right.setText("Correct question number:");
wrong.setText("Error question number:");
}
else if(lang ==2 ){
Title.setText("题目:");
ans.setText("答案: ");
time.setText("用时:");
right.setText("正确数量:");
wrong.setText("错误数量:");
next.setText("下一题");
check.setText("检查答案");
right.setText("正确题数:");
wrong.setText("错误题数:");
}
计时功能的代码实现
timer = new Timer();
finishtime = System.currentTimeMillis();
starttime = finishtime;
timer.schedule(new TimerTask() {
public void run() {
finishtime = System.currentTimeMillis();
duration = finishtime - starttime;
String str = df.format(new Date(duration));
times.setText(str);
if (summary == titles) {
try {
Thread.sleep(2000000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}, 1000, 1000);
判断答案是否正确并记录对错数目
check.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(results.equals(anss.getText())){
if(lang == 1){
rns.setText("Correct!");
rightNum = rightNum + 1;
rights.setText(String.valueOf(rightNum));
}
else if(lang == 2){
rns.setText("正确!");
rightNum = rightNum + 1;
rights.setText(String.valueOf(rightNum));
}
else{
rns.setText("正確!");
rightNum = rightNum + 1;
rights.setText(String.valueOf(rightNum));
}
}else{
if(lang == 1){
rns.setText("Wrong!");
wrongNum = wrongNum + 1;
wrongs.setText(String.valueOf(wrongNum));
}
else if(lang == 2){
rns.setText("错误!");
wrongNum = wrongNum + 1;
wrongs.setText(String.valueOf(wrongNum));
}
else{
rns.setText("错误!");
wrongNum = wrongNum + 1;
wrongs.setText(String.valueOf(wrongNum));
}
}
六、功能截图展示
语言选择界面
不同语言界面演示
选择题数和范围
计时运行和判断对错题数
六、小结感受
对于结对编程是否能1+1>2的结果?我觉得是肯定的,在编程过程中,有许多自己考虑不到的问题,或许别人一个提醒就豁然开朗;
七、评价
优点:对于问题的综合处理能力好,逻辑思维不错;
缺点:代码写的有乱
希望他提高的地方:多交流,共同进步
八、PSP展示
结对编程四则运算gui
码市地址:https://git.coding.net/linzhao/sizeyunsuangui.git 林 钊 -- 201421123105 吴世荣 -- 201421123119 王坤彬 - ...
结对编程-四则运算-GUI
201421123022 王若凡 201421123026 欧阳勇 https://git.coding.net/ttoyy/sizeyunsuan-GUI.git a.需求分析: ...
20175226 2018-2019-2《java程序设计》结对编程-四则运算(第一周-阶段总结)
结对编程-四则运算(第一周-阶段总结) 需求分析 实现一个四则运算程序,要求: 自动随机生成小学四则运算题目(加,减,乘,除) 支持整数.真分数且支持多项式 能够利用栈的思想,将中缀转换为后缀表达式 ...
20175305张天钰Java结对编程四则运算(二)
Java结对编程四则运算(二) 一.题目描述及要求 Git提交粒度不要太粗,建议一个文件/一个类/一个函数/一个功能/一个bug修复都进行提交,不能一天提交一次,更不能一周一次,参考Commit Me ...
20175305张天钰Java结对编程四则运算
Java结对编程四则运算 一.题目描述:如何对表达式进行求值运算呢 1.中缀表达式与后缀表达式(娄老师讲解) 中缀表达式就是运算符号在运算数中间的表达式,比如1+2,顾名思义,后缀表达式就是运算符在运 ...
结对编程--四则运算(Java)萧英杰 夏浚杰
结对编程--四则运算(Java)萧英杰 夏浚杰 Github项目地址 功能要求 题目:实现一个自动生成小学四则运算题目的命令行程序 使用 -n 参数控制生成题目的个数(实现) 使用 -r 参数控制题目 ...
结对编程--四则运算(Java)梅进鹏 欧思良
结对编程--四则运算(Java)梅进鹏 欧思良 Github项目地址:https://github.com/MeiJinpen/Arithmetic 功能要求 题目:实现一个自动生成小学四则运算题目的 ...
王译潇20162314 实验报告三plus结对编程四则运算第一阶段
北京电子科技学院BESTI实验报告 课程:程序设计与数据结构 班级: 1623 姓名: 王译潇 学号:20162314 指导教师:娄佳鹏老师.王志强老师 实验日期:2017年5月12号 实验密级: 非 ...
Java结对编程四则运算一周小结
Java结对编程四则运算一周小结 需求分析 对于四则运算来说最主要的就是要计算出产生的式子(字符串的形式). 设计思路 总体可将这个项目分解为几个部分:产生式子,计算式子,判断对错并记录: 具体的思路 ...
随机推荐
Leetcode House Robber II
本题和House Robber差不多,分成两种情况来解决.第一家是不是偷了,如果偷了,那么最后一家肯定不能偷. class Solution(object): def rob(self, nums): ...
优化移动设备上SharePoint 2013网站
优化移动设备上SharePoint 2013网站 本文由SPFarmer翻译自Waldek Mastykarz的文章 移动市场在持续的增长.在不远的将来,使用移动设备浏览站点将会超过电脑.为了保证用户 ...
OSXFUSE file system is not available 解决方法
操作系统版本:10.14 macos mojeva 今天用truecrypt加载加密盘时候提示次错误:用window加载也有错误,不过用windows自带的工具检查修复了错误. 解决办法: 1.访问h ...
MAC 的ideal 修改 项目名称
在使用 ideal的时候 ,我拷贝了一个文件,想要修改项目的名称,改了qcs-regulation-hefei 但是 (1)我改了项目名称: (2)还改了 pom.xml 但是还是不行,来回切换不同的 ...
[转]webpack中require和import的区别
webpack中可以写commonjs格式的require同步语法,可以写AMD格式的require回调语法,还有一个require.ensure,以及webpack自己定义的require.incl ...
Jenkins(Docker容器内)使用宿主机的docker命令
1.Jenkins镜像 Docker容器内的Jenkins使用容器外宿主机的Docker(即DooD,还有另外的情况就是DioD),google一下有几种说法,但是都没试成功(试过一种就是修改宿主机/ ...
numpy array分割-【老鱼学numpy】
有合并,就有分割. 本节主要讲述如何通过numpy对数组进行横向/纵向分割. 横向/纵向分割数组 首先创建一个6行4列的数组,然后我们对此数组按照横向进行切割,分成3块,这样每块应该有2行,见例子: ...
使用Java创建指定大小的空文件夹
/** 方法一 * 创建固定大小的文件 * @param file * @param length * @throws IOException */ public static void create ...
python 对象存储///对象序列化
如果你有写数据来之不易,并且希望每次都可以方便的读取,那么存储为一个对象是一个很不错的解决方法 方法一. import pickle #首先要导入包 dics={'a':4,'b':5,'c':6}# ...
java 四则运算gui_结对编程-四则运算GUI的实现相关推荐
- 《java程序设计》结对编程-四则运算整体总结
需求分析(描述自己对需求的理解,以及后续扩展的可能性) 实现一个命令行程序,要求: 自动生成小学四则运算题目(加,减,乘,除) 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 ...
- 张天钰 内大计算机学院,20175305张天钰Java结对编程四则运算
Java结对编程四则运算 一.题目描述:如何对表达式进行求值运算呢 1.中缀表达式与后缀表达式(娄老师讲解) 中缀表达式就是运算符号在运算数中间的表达式,比如1+2,顾名思义,后缀表达式就是运算符在运 ...
- 20165101刘天野 2017-2018-2 《Java程序设计》 结对编程练习_四则运算(第二周)
20165101刘天野 2017-2018-2 <Java程序设计> 结对编程练习_四则运算(第二周) 一.需求分析 能随机生成n道四则运算题目,n由使用者输入 支持分数运算 支持多运算符 ...
- 20165236 2017-2018-2 《Java程序设计》结对编程练习_四则运算
20165236 2017-2018-2 <Java程序设计>结对编程练习_四则运算 结对小组:叶佺.郭金涛 一.需求分析: 1.能随机生成n道四则运算题目,n由使用者输入: 2.支持多种 ...
- java周志第二周_20165325 2017-2018-2 《Java程序设计》结对编程_第二周:四则运算
20165325 2017-2018-2 <Java程序设计>结对编程_第二周:四则运算 一.码云链接 1.Git提交日志已经实现一个功能/一个bug修复的注释说明,如图所示: 2.测试代 ...
- postfixcalc函数 java_结对编程--四则运算(Java)萧英杰 夏浚杰
结对编程--四则运算(Java)萧英杰 夏浚杰 功能要求 题目:实现一个自动生成小学四则运算题目的命令行程序 使用 -n 参数控制生成题目的个数(实现) 使用 -r 参数控制题目中数值(自然数.真分数 ...
- 结对编程--------四则运算 实验总结2
结对编程----------四则运算 实验总结2 结对对象 20172301 郭恺 20172328 李馨雨 过程截图 这个是我们编写的main,叫ArithmeticTest1主要用于生成随机等级的 ...
- 结对编程-四则运算生成
结对编程-四则运算生成 java实现四则运算程序 github传送门:https://github.com/JJYdesu/operation 成员:赖展飞 江家懿 一.项目要求 实现一个自动生成小学 ...
- 20162303 结对编程-四则运算(挑战出题)
结对编程-四则运算(挑战出题) 结对伙伴:20162307 张韵琪 需求分析 1.建立一个新的代码仓库用于储存代码 2.随机生成指定运算符个数.指定个数和指定存储路径的表达式,包括括号 3.根据要求进 ...
最新文章
- java中利用反射创建对象,利用java反射机制动态创建对象
- pgrouting进行路径规划之入门二
- JDBC中的事物处理
- 云计算技术 — 云计算的未来
- golang 面向对象 简介
- OPenGL中的缓冲区对象
- APC UPS报错一例
- python常用函数中文_【python】python常用函数
- 服务器cpu虚拟插槽,服务器更换cpu插槽
- 笔记本计算机属于微型计算机吗,微型计算机和笔记本计算机有什么区别
- Scala学习教程笔记三之函数式编程、集合操作、模式匹配、类型参数、隐式转换、Actor、...
- java分布式框架_5个强大的Java分布式缓存框架推荐
- JavaScript里函数中的this
- 傅佩荣谈道家逍遥自在的人生
- 利用Python+Gephi生成刀塔霸业棋子关系图
- 使用tensorflow进行简单的强化学习 1—Q-learning
- 谷歌翻译用不了,失效的最新解决方法之一
- Gamma Correction(伽马校正)
- 可口可乐启示录:把世界装进瓶子里的4个商人【姜太公公】
- 科技前沿(1)-石墨烯 在中国、美国、英国、欧盟、韩国、日本的发展情况