package 四则运算;

import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.Timer; import java.awt.BorderLayout;
import java.awt.Color; import javax.swing.JPanel; import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.GridLayout; import javax.swing.JTextField;
import javax.swing.JLabel; public class jiemian extends JFrame implements ActionListener{
/**
*
*/
private static final long serialVersionUID = -2158244201317433166L;
JTextField textField;
JTextField textField_1;
JTextField textField_2;
JTextField textField_3;
JTextField textField_4;
JTextField textField_5;
JTextField textField_6;
JTextField textField_7;
JTextField textField_8;
JTextField textField_9;
JTextField textField_10;
JTextField textField_11;
JTextField textField_12;
JTextField t1;
int a=0;
JButton b1;
JButton b2;
JButton button;
int[]daan=new int[10];
private Timer tmr;
JPanel []P = {new JPanel(),
new JPanel(),
new JPanel(),
new JPanel(),
new JPanel(),
new JPanel(),
new JPanel(),
new JPanel(),
new JPanel(),
new JPanel(),
new JPanel(),
new JPanel(),
new JPanel(),
new JPanel(),
new JPanel(),
new JPanel(),
new JPanel(),
new JPanel(),
new JPanel(),
new JPanel(),
new JPanel(),
new JPanel(),
new JPanel(),
new JPanel(),
};
JTextField []T={new JTextField(20),
new JTextField(20),
new JTextField(20),
new JTextField(20),
new JTextField(20),
new JTextField(20),
new JTextField(20),
new JTextField(20),
new JTextField(20),
new JTextField(20),
new JTextField(10),
new JTextField(10),
new JTextField(10),
new JTextField(10),
new JTextField(10),
new JTextField(10),
new JTextField(10),
new JTextField(10),
new JTextField(10),
new JTextField(10)};
public jiemian() {
JPanel panel = new JPanel();
getContentPane().add(panel, BorderLayout.NORTH);
b1 = new JButton("\u5F00\u59CB");
b1.addActionListener(this);
panel.setLayout(new GridLayout(0, 3, 0, 0));
panel.add(b1); b2 = new JButton("\u4EA4\u5377");
b2.addActionListener(this);
panel.add(b2); button = new JButton("\u6362\u80A4");
button.addActionListener(this);
panel.add(button); JPanel panel_1 = new JPanel();
getContentPane().add(panel_1, BorderLayout.SOUTH);
panel_1.setLayout(new GridLayout(0, 2, 0, 0)); panel_1.add(P[20]); JLabel label = new JLabel("\u7B54\u5BF9\u4E2A\u6570");
P[20].add(label); textField_11 = new JTextField();
P[20].add(textField_11);
textField_11.setColumns(10); panel_1.add(P[21]); JLabel label_1 = new JLabel("\u7B54\u9519\u4E2A\u6570");
P[21].add(label_1); textField_10 = new JTextField();
P[21].add(textField_10);
textField_10.setColumns(10); panel_1.add(P[22]); JLabel label_2 = new JLabel("\u603B\u5206");
P[22].add(label_2); textField_12 = new JTextField();
P[22].add(textField_12);
textField_12.setColumns(10); panel_1.add(P[23]); JLabel label_3 = new JLabel("\u7528\u65F6");
P[23].add(label_3); t1 = new JTextField("0");
P[23].add(t1);
t1.setColumns(10); JPanel panel_2 = new JPanel();
getContentPane().add(panel_2, BorderLayout.CENTER);
panel_2.setLayout(new GridLayout(10,3)); JPanel panel_3 = new JPanel();
panel_2.add(panel_3);
panel_3.setLayout(new GridLayout(0, 2, 0, 0)); panel_3.add(P[0]); P[0].add(T[0]); panel_3.add(P[1]); P[1].add(T[10]); JPanel panel_4 = new JPanel();
panel_2.add(panel_4);
panel_4.setLayout(new GridLayout(0, 2, 0, 0)); panel_4.add(P[2]); P[2].add(T[1]); panel_4.add(P[3]); P[3].add(T[11]); JPanel panel_5 = new JPanel();
panel_2.add(panel_5);
panel_5.setLayout(new GridLayout(0, 2, 0, 0)); panel_5.add(P[4]); P[4].add(T[2]); panel_5.add(P[5]); P[5].add(T[12]); JPanel panel_6 = new JPanel();
panel_2.add(panel_6);
panel_6.setLayout(new GridLayout(0, 2, 0, 0)); panel_6.add(P[6]); P[6].add(T[3]); panel_6.add(P[7]); P[7].add(T[13]); JPanel panel_7 = new JPanel();
panel_2.add(panel_7);
panel_7.setLayout(new GridLayout(0, 2, 0, 0)); panel_7.add(P[8]); P[8].add(T[4]); panel_7.add(P[9]); P[9].add(T[14]); JPanel panel_8 = new JPanel();
panel_2.add(panel_8);
panel_8.setLayout(new GridLayout(0, 2, 0, 0)); panel_8.add(P[10]); P[10].add(T[5]); panel_8.add(P[11]); P[11].add(T[15]); JPanel panel_9 = new JPanel();
panel_2.add(panel_9);
panel_9.setLayout(new GridLayout(0, 2, 0, 0)); panel_9.add(P[12]); P[12].add(T[6]); panel_9.add(P[13]); P[13].add(T[16]); JPanel panel_10 = new JPanel();
panel_2.add(panel_10);
panel_10.setLayout(new GridLayout(0, 2, 0, 0)); panel_10.add(P[14]); P[14].add(T[7]); panel_10.add(P[15]); P[15].add(T[17]); JPanel panel_11 = new JPanel();
panel_2.add(panel_11);
panel_11.setLayout(new GridLayout(0, 2, 0, 0)); panel_11.add(P[16]); P[16].add(T[8]); panel_11.add(P[17]); P[17].add(T[18]); JPanel panel_12 = new JPanel();
panel_2.add(panel_12);
panel_12.setLayout(new GridLayout(0, 2, 0, 0)); panel_12.add(P[18]); P[18].add(T[9]); panel_12.add(P[19]); P[19].add(T[19]);
Timer tmr = new Timer(1000, this);
this.tmr = tmr;
setSize(500,500);
setLocationRelativeTo(null);
setVisible(true); }
public void actionPerformed(ActionEvent e) {
if (e.getSource() == button)
{
if(a == 0)
{
for(int i=0;i<24;i++)
{
P[i].setBackground(Color.GRAY);
}
a++;
}
else if (a == 1)
{
for(int i=0;i<24;i++)
{
P[i].setBackground(Color.orange); }
a++;
}
else if (a == 2) {
for(int i=0;i<24;i++)
{
P[i].setBackground(Color.pink); }
a=0;
}
}
if (e.getSource() == b1)
{
int i=0;
do
{
int a,d,d1,d2;
d1=(int)(1+Math.random()*(100-1+1));
d2=(int)(1+Math.random()*(100-1+1));
a=(int)(Math.random()*5);
d=(int)(Math.random()*12+1);
if(a==0)
{
T[i].setText(d1+"+"+d2+"=");
daan[i]=d1+d2;
}
if(a==1)
{
T[i].setText(d1+"-"+d2+"=");
daan[i]=d1-d2;
}
if(a==2)
{
T[i].setText(d1+"×"+d2+"=");
daan[i]=d1*d2;
}
if(a==3)
{
if(d2==0)
d2=d2+1;
T[i].setText(d1+"÷"+d2+"=");
daan[i]=d1/d2;
}
if(a==4)
{
T[i].setText(d+"!");
daan[i]=jiecheng(d);
}
i++;
}while(i<10);
t1.setText("0");
tmr.start();
} else {
int t;
t = Integer.parseInt(t1.getText());
t++;
t1.setText("" + t); if (t >= 120) {
JFrame f=new JFrame();
JOptionPane.showMessageDialog(f,"时间到,请交卷");
tmr.stop();
}
} if (e.getSource() == b2)
{
int n=0;
for(int k=0;k<20;k++)
{
try
{
if(T[k+10].getText().length()==0)
{
continue;
}
if(daan[k]==Integer.parseInt(T[k+10].getText()))
{
n++;
}
}
catch(ArrayIndexOutOfBoundsException x)
{ }
}
textField_11.setText(""+n);
textField_10.setText(""+(10-n));
textField_12.setText(""+(10*n));
JFrame f=new JFrame();
JOptionPane.showMessageDialog(f,""+daan[0]+"\n"+daan[1]+"\n"+daan[2]+"\n"+daan[3]+"\n"+daan[4]+"\n"+daan[5]+"\n"+daan[6]+"\n"+daan[7]+"\n"+daan[8]+"\n"+daan[9]);
tmr.stop();
}
} private int jiecheng(int x)
{
if(x==0 || x==1)
{
return 1;
}
else
{
return x*jiecheng(x-1);
}
}
public static void main(String[] args) {
new jiemian();
}
}

心得体会:

吴旭涛:

通过四则运算的编码,编程Java界面的时,通过jdk的插件

,对按钮、输入框都有了一定的掌握,对于结对合作的方面,

加深了团队合作的重要性,对计算机编程开发、执行、

应用软件等方面有重大的意义

王宏财:

在编码四则运算过程中,

初步了解了Java界面和C语言相结合的特点,

对于随机生成四则运算方面遇到不晓得问题

,统计运行时间、错题、对题、对面板换肤等方面有点不足,

还有待进步。通过这次结对合作,

充分体会到团队合作的重要性,

以后会好好对待每一个合作机会

优点:

1.按开始按键就开始计时,按交卷键就暂停即总时间

2.有计算答对的个数,答错的个数和总分

3.能换多种皮肤

缺点:

1.计时器到了120秒不会自动交卷

2.再按开始,答题区不会清空

3.没写哪道题对,哪道题错

合作:王宏财  http://www.cnblogs.com/wanghongcai/

实验二 合作:王宏财 http://www.cnblogs.com/wanghongcai/的更多相关文章

  1. 20162317袁逸灏 第八周实验报告:实验二 Java面向对象程序设计

    20162317袁逸灏 第八周实验报告:实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 ...

  2. 2018-2019-2 20175317 实验二《Java面向对象程序设计》实验报告

    2018-2019-2 20175317 实验二<Java面向对象程序设计>实验报告 一.实验步骤及内容 面向对象程序设计-1 参考 http://www.cnblogs.com/roce ...

  3. 2018-2019-2 学号20175223 实验二《Java面向对象程序设计》实验报告

    目录 北京电子科技学院(BESTI)实验报告 实验名称:实验二 面向对象程序设计 实验内容.步骤与体会: 一.实验二 面向对象程序设计-1 二.实验二 面向对象程序设计-2 三.实验二 面向对象程序设 ...

  4. 2018-2019-2 20175310 实验二《Java面向对象程序设计》实验报告

    2018-2019-2 20175310 实验二<Java面向对象程序设计>实验报告 一.实验步骤及内容 (一).面向对象程序设计-1 参考 http://www.cnblogs.com/ ...

  5. 2017-2018-2 20165206 实验二《Java面向对象程序设计》实验报告

    2017-2018-2 20165206 实验二<Java面向对象程序设计>实验报告 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:韩啸 学号:20165206 指导教 ...

  6. 20165220实验二《Java面向对象程序设计》

    实验封面: 实验二 面向对象程序设计-1 实验要求: 参考 http://www.cnblogs.com/rocedu/p/6371315.html#SECUNITTEST 参考http://www. ...

  7. 20165305 实验二:Java面向对象程序设计

    2-1 参考 http://www.cnblogs.com/rocedu/p/6371315.html#SECUNITTEST 参考http://www.cnblogs.com/rocedu/p/67 ...

  8. 20165203 实验二 Java面向对象程序设计

    20165203 实验二 Java面向对象程序设计 一.面向对象程序设计1--单元测试和TDD 1.实验要求 参考 (http://www.cnblogs.com/rocedu/p/6371315.h ...

  9. 20155304 2016-2017-2 《Java程序设计》实验二 Java面向对象程序设计

    实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验要求 没有Linux ...

随机推荐

  1. <20190104>关掉一些鸡肋的Win10功能

    讨厌鬼001 # - windows defender -    本身没什么卵用, 却一直占着位置, 而且不断提示更新. 必须关闭它 . 在"运行" 中,  输入 "gp ...

  2. node_01_自定义模块(先创建package.json)

    package.json必须是json格式 你必须确保所有的字符串,包括属性名,都是使用双引号而不是单引号 { "name": "163", "ver ...

  3. Postgresql 截取字符串

    截取字符串一般用 substring 就够用了.对于有些长度不定的就没法用这个函数了,但还是有规律的,可以某个字符分割. 如:(这是一个url,截取最后一部分.现在要取 - 后面部分内容) 8a59e ...

  4. File类_常见的方法(获取目录中指定规则的内容)

    首先定义过滤器 import java.io.File; import java.io.FilenameFilter; public class FileByJava implements Filen ...

  5. 解决jqueryeasyUI dialog 弹出窗体超出浏览器,导致不能关闭的bug

    使用panel的onMove事件攻克了panel,dialog以及window组件在被拖动时,会超出浏览器边界而无法拖回的情况. 当窗体被拖出浏览器有边界时.$(document).width();会 ...

  6. 解决eclipse中Tomcat服务器的server location选项不能修改的问题

    在Eclipse菜单栏中选择window — show view — server 可以看到服务的面板,服务面板中可看到已配置的Tomcat以及Tomcat下的项目 双击tomca进入设置界面,如果看 ...

  7. 1 C++ 线程

    #include "iostream" //#include "thread" //头文件一般不加入,复制到别的文件,导致命名冲突 //总增加 //using ...

  8. wallet.metamask.io 网页版钱包 connecting unknown network导致页面卡住

    之前在还不是十分懂用的时候想要用其连接本地的打开的ganache,所以就像使用本地插件的metamask一样,点击custom rpc,然后输入http://localhost:7545,然后页面就一 ...

  9. Google的Flutter工具允许开发者开发跨平台应用

    与大多数应用程序开发人员交谈,他们会告诉你,与iOS相比,制作Android应用程序要困难得多,也更复杂,也不那么有趣.实际上,如果你要求报价,这两种软件都将单独定价,因为它们都需要单独的开发时间和团 ...

  10. CF809E Surprise me! 莫比乌斯反演、虚树

    传送门 简化题意:给出一棵\(n\)个点的树,编号为\(1\)到\(n\),第\(i\)个点的点权为\(a_i\),保证序列\(a_i\)是一个\(1\)到\(n\)的排列,求 \[ \frac{1} ...