package runok;
import java.util.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import javax.swing.*;
public class vv extends JFrame implements ActionListener{ /**
* 作者:范铭祥
* 功能:一个简单的小学生四则运算 自动 生成系统
*/
JPanel jp1,jp2,jp3;
JLabel jlb1,jlb2;
JButton jb1;
JTextField jtf1,jtf2;
JTextArea ee;
public double w1;
public double m1;
String fh;
public static void main(String[] args)
{
vv start=new vv();
}
public vv()
{
jp1=new JPanel();
jp2=new JPanel();
jp3=new JPanel(); jlb1=new JLabel("题目");
jlb2=new JLabel("你的答案:"); jb1=new JButton("判断答案");
jb1.addActionListener(this);
jb1.setActionCommand("aa");
JTextArea txtArea = new JTextArea(1,15);
jtf2=new JTextField(20);
ee = new JTextArea(1,10);
//设置布局管理
this.setLayout(new GridLayout(3,1));
//加入各个组件
jp1.add(jlb1);
jp1.add(txtArea); jp2.add(jlb2);
jp2.add(jtf2);
jp3.add(jb1);
jp3.add(ee);
//加入到JFrame
this.add(jp1);
this.add(jp2);
this.add(jp3);
//在这里用yy方法来获取题目 w 符号 m
yy tt=new yy(); w1=tt.ret1();
m1=tt.ret2();
fh=tt.ret3();
txtArea.append(w1+fh+m1);
this.setSize(400, 250);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public void yes()
{ ee.append("正确!"); }
public void no()
{ee.append("错误!");}
public void cc()
{
int answer=(int) (Double.parseDouble(jtf2.getText()));;
if(fh.equals("+"))
{
if(answer==w1+m1){
yes();
}else{
no();
}
}
if(fh.equals("-"))
{
if(answer==w1-m1){
yes();
}else{
no();
}
}
if(fh.equals("*"))
{
if(answer==w1*m1){
yes();
}else{
no();
}
}
if(fh.equals("/"))
{
if(answer==w1/m1){
yes();
}else{
no();
}
}
}
@Override
public void actionPerformed(ActionEvent e)
{
// !!!!
if(e.getActionCommand()=="aa")
{
cc();
}
} } class yy
{
private int max=4;
private int min=1;
private double w2,m2;
private String ff;
Random random = new Random(); //System.out.println(s);
public yy()
{
int s = random.nextInt(max)%(max-min+1) + min; double x=random.nextInt(max-2)%(max-2-min+1) + min; double y=random.nextInt(max-1)%(max-1-min+1) + min;
int y1up=(int) Math.pow(10,x);
int y1dn=(int) Math.pow(10,x-1);
int y2up=(int) Math.pow(10,y);
int y2dn=(int) Math.pow(10,y-1);
int x_y1=random.nextInt(y1up)%(y1up-y1dn+1) + y1dn;
int x_y2=random.nextInt(y2up)%(y2up-y2dn+1) + y2dn;
double w=(double)x_y1;
double m=(double)x_y2;
this.w2=w;
this.m2=m;
switch(s)
{
case 1:
{
this.ff="+";
System.out.println(w+"+"+m+"=" );
break;
}
case 2:
{
this.ff="-";
System.out.println(w+"-"+m+"=" );
break;
}
case 3:
{
this.ff="*";
System.out.println(w+"*"+m+"=" );
break;
}
case 4:
{
this.ff="/";
System.out.println(w+"/"+m+"=" );
break;
} }
}
public double ret1()
{
return w2;
}
public double ret2()
{
return m2;
}
public String ret3()
{
return ff;
}
}


最新文章

  1. Spring Boot整合Dubbo框架demo
  2. 利用OTP为odoo增强安全访问
  3. 读书笔记_Effective_C++_条款四十九:了解new_handler的行为
  4. 六、Java基础---------equals 与 ==深入讲解
  5. 互联网程序设计c++
  6. Java 四种线程池的使用
  7. viewDidLoad、viewDidUnload、viewWillAppear、viewDidAppear、viewWillDisappear 和 -viewDidDisappear的区别和使用
  8. 9.并发包非阻塞队列ConcurrentLinkedQueue
  9. Eclipse工程有乱码
  10. 初学 Python(十一)——切片
  11. windbg内存查看(d*)
  12. Ionic3 遇到的一些错误-Error: Cannot find module 'reflect-metadata'
  13. eclipse 精确查询
  14. java对象与Json字符串之间的转化(fastjson)
  15. Windows server2008服务器设置多用户登录
  16. RHCE认证考前辅导
  17. CPU瓶颈分析工具
  18. pow log 与 (int)
  19. Ant在MyEclipse中的配置总结
  20. php getallheaders使用注意事项

热门文章

  1. Swift 实践篇之链式 UI 代码
  2. UI之富文本编辑器-UEditor
  3. Docker技术入门与实战 第二版-学习笔记-6-仓库
  4. CentOS7服务器上部署深度/机器学习环境推荐首选anaconda3
  5. Elasticsearch学习笔记1
  6. web.py利用模板的详细步骤
  7. Android 一个相对完整的自动升级功能实现代码
  8. Scala--操作符
  9. 20155217《网络对抗》Exp02 后门原理与实践
  10. 2017-2018-2 20155224『网络对抗技术』Exp8:Web基础