本次作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2213
我的github远程仓库的地址:https://github.com/879539613/IT-apk
第一部分:要求
从个人项目出发,将程序改造成一个单机带用户界面(不是控制台)的程序,这个程序最基本要达到:
- 自动生成题目,单个题目最多不能超过4个运算符,操作数小于100。
- 用户可以输入答案
- 若用户输入答案正确,则提示正确;若答案错误,则提示错误,并要提示正确答案是多少。
第二部分:设计
扩展方向
- 可以出表达式里含有负整数(负整数最小不小于-100)的题目,且负数需要带括号,用户输入的结果不用带括号。如: 2*(-4) = -8
- 用户答题结束以后,程序可以显示用户答题所用的时间
- 用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数
- 程序可以出单个整数阶乘的题目:如:4!=24
- 程序可以设置皮肤功能,可以改变界面的颜色即可。
开发环境
第三部分:实现
我所扩展的方向与工作量:
示例:
一.可视化界面的布局与弹框等
Timer timertask = new Timer(1000, this);//间隔1秒
this.timer = timertask;//添加时间
Btn_submit =new JButton("提交答案");
Btn_submit.addActionListener(this);
Btn_next =new JButton("下一题");
Btn_next.addActionListener(this);
titlenumber.addActionListener(this);
Btn_start.addActionListener(this);
p1=new JPanel();
p2=new JPanel();
p3=new JPanel();
//容器布局
getContentPane().add(p1,"North");
getContentPane().add(p2,"Center");
getContentPane().add(p3,"South");
p1.add(L0);
p2.add(L1);p2.add(titlenumber);
p2.add(L2);p2.add(title);
p2.add(L3);p2.add(useranswer);
p2.add(L4);p2.add(yesOfno);
p2.add(L5);p2.add(result);
p3.add(Btn_start);p3.add(Btn_submit);p3.add(Btn_next);p3.add(Btn_color);
二.颜色变换,弹出一个颜色面板,可自定义颜色
if(e.getSource()==Btn_color)//点击背景按钮
{
Color ch = JColorChooser.showDialog(this, "颜色选择器", this.getBackground());
if (ch != null) {
this.getContentPane().setBackground(ch);
p1.setBackground(ch);
p1.repaint();
p2.setBackground(ch);
p2.repaint();
this.getContentPane().repaint();
}
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
三.阶乘处理,在switch,case中写入了这种方法
private void jisuan2()
{
int a=(int)(Math.random()*10+1);
title.setText(a+"!");
answer =1;
for(int i=1;i<=a;i++)
{
answer = answer *i;
}
}
接第三个实验提出的想法
在逻辑思考中,我认为如果四则运算中有(),可利用switch()方法,用case罗列。
第四部分:运行结果
效果1:初始运行页面

效果2:自定义颜色面板

效果3:根据用户答案对错,颜色随之改变

效果4:概率出现阶乘

效果5:最终运行结束

第五部分:解决
问题1:用java写的时候需要导出可执行文件jar包
解决:具体过程参考以下网址:https://jingyan.baidu.com/article/c275f6ba0bbb65e33d7567cb.html
问题2:画板布局时容易错乱
解决:自行学习相关知识,参考别人的面板
问题3:容错率低
解决:需要后期更新
第五部分:合作伙伴
姓名:刘嘉南 学号:201606120011
负责方向:四则运算代码的实现,负数的实现,时间的获取
他的博客地址为:http://www.cnblogs.com/LJNAN/
结对照片:

附图:统计表
|
PSP2.1
|
Personal Software Process Stages
|
Time Senior Student(h)
|
Time(h)
|
|
Planning
|
计划
|
0.2
|
0.1
|
|
· Estimate
|
估计这个任务需要多少时间
|
6
|
9
|
|
Development
|
开发
|
1
|
1.5
|
|
· Analysis
|
需求分析 (包括学习新技术)
|
0
|
1
|
|
· Design Spec
|
生成设计文档
|
0
|
0
|
|
· Design Review
|
设计复审
|
0
|
0
|
|
· Coding Standard
|
代码规范
|
0.1
|
0.1
|
|
· Design
|
具体设计
|
0.2
|
0.2
|
|
· Coding
|
具体编码
|
3
|
5
|
|
· Code Review
|
代码复审
|
0.2
|
0.2
|
|
· Test
|
测试(自我测试,修改代码,提交修改)
|
0.5
|
1
|
|
Reporting
|
报告
|
0
|
0
|
|
Test Report
|
测试报告
|
0
|
0
|
|
·workload
|
计算工作量
|
0
|
0
|
|
·correction
|
并提出过程改进计划
|
0
|
0
|
第四次作业---四则运算升级版(带可视化界面)
原文:https://www.cnblogs.com/yuanzhenpeng/p/9845043.html