作业要求:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2213
同伴:201606120020林灿彬
博客园:http://www.cnblogs.com/lincan-5201314/
一.基本要求
- 自动生成题目,单个题目最多不能超过4个运算符,操作数小于100。
- 用户可以输入答案
- 若用户输入答案正确,则提示正确;若答案错误,则提示错误,并要提示正确答案是多少。
二.开发环境
程序所使用的开发环境是:IntelliJ IDEA 2018.2.2x
三.扩展方向
- 用户答题结束以后,程序可以显示用户答题所用的时间
- 用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数
- 程序可以出带括号的正整数四则运算,支持分数,除法保留两位小数,如:(1/3+1)*2 = 2.67,特别注意:这里是2.67而非2.66,或保持分数形式:8/3
- 程序可以设置皮肤功能,可以改变界面的颜色即可。
四.程序实现
结队项目的实现,需要有可视化界面的显示。
验证代码过程:
switch (i) { case 1: answer1 = textField3.getText(); if(answer1.length()==0) { label3.setText("错误,答案为"+arr[0]); } else { right1 = Double.valueOf(answer1); temp = df.format(right1); right1 = Double.valueOf(temp); if (right1 == arr[0]) { label3.setText("回答正确"); account++; } else { label3.setText("错误,答案为"+arr[0]); } } label1.setVisible(false); label2.setVisible(false); label3.setVisible(true); label4.setVisible(false); label5.setVisible(false); break; case 2: answer1 = textField2.getText(); answer2 = textField3.getText(); if(answer1.length()==0) { label2.setText("错误,答案为"+arr[0]); }else { right1 = Double.valueOf(answer1); temp = df.format(right1); right1 = Double.valueOf(temp); if (right1 == arr[0]) { label2.setText("回答正确"); account++; } else { label2.setText("错误,答案为"+arr[0]); } }
背景色的改变:
changeBgc.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { Color ch = JColorChooser.showDialog(jf, "背景色改变", jf.getBackground()); if (ch != null) { jf.getContentPane().setBackground(ch); jf.getContentPane().repaint(); } } });//改变窗口背景颜色
五、感悟
在这次作业中,深深的感受到自己对java感悟不够。就连最简单的窗口创建和元素的布置也花了很多的时间去做,本来感觉这个作业不是特别难,可结果却不是很如意,不管从界面美观还是从功能上来说,这个项目离完善还差了许多,不过还好设计的思路总体上还是挺明确的,对于实现方面,就是对知识掌握不够,在以后的学习中需要加强学习,加强练习。
六.结队工作照片