哥java学识有大进 干回之前的小学生系统像切菜一样简单 不说了 来代码

  1 package runok;
  2 import java.util.*;
  3 import java.awt.*;
  4 import java.awt.event.ActionEvent;
  5 import java.awt.event.ActionListener;
  6
  7 import javax.swing.*;
  8 public class vv extends JFrame implements ActionListener{
  9
 10 /**
 11 * 作者:范铭祥
 12 * 功能:一个简单的小学生四则运算 自动 生成系统
 13 */
 14 JPanel jp1,jp2,jp3;
 15 JLabel jlb1,jlb2;
 16 JButton jb1;
 17 JTextField jtf1,jtf2;
 18 JTextArea ee;
 19 public double w1;
 20 public double m1;
 21 String fh;
 22 public static void main(String[] args)
 23 {
 24   vv start=new vv();
 25 }
 26 public vv()
 27 {
 28     jp1=new JPanel();
 29     jp2=new JPanel();
 30     jp3=new JPanel();
 31
 32     jlb1=new JLabel("题目");
 33     jlb2=new JLabel("你的答案:");
 34
 35     jb1=new JButton("判断答案");
 36     jb1.addActionListener(this);
 37     jb1.setActionCommand("aa");
 38     JTextArea txtArea = new JTextArea(1,15);
 39     jtf2=new JTextField(20);
 40    ee = new JTextArea(1,10);
 41     //设置布局管理
 42     this.setLayout(new GridLayout(3,1));
 43     //加入各个组件
 44     jp1.add(jlb1);
 45     jp1.add(txtArea);
 46
 47     jp2.add(jlb2);
 48     jp2.add(jtf2);
 49     jp3.add(jb1);
 50     jp3.add(ee);
 51     //加入到JFrame
 52     this.add(jp1);
 53     this.add(jp2);
 54     this.add(jp3);
 55 //在这里用yy方法来获取题目 w 符号 m
 56     yy tt=new yy();
 57
 58
 59     w1=tt.ret1();
 60     m1=tt.ret2();
 61     fh=tt.ret3();
 62     txtArea.append(w1+fh+m1);
 63     this.setSize(400, 250);
 64     this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 65     this.setVisible(true);
 66 }
 67 public void yes()
 68 { ee.append("正确!");    }
 69 public void no()
 70 {ee.append("错误!");}
 71 public void cc()
 72 {
 73     int answer=(int) (Double.parseDouble(jtf2.getText()));;
 74         if(fh.equals("+"))
 75         {
 76             if(answer==w1+m1){
 77                 yes();
 78             }else{
 79                 no();
 80             }
 81         }
 82         if(fh.equals("-"))
 83         {
 84                 if(answer==w1-m1){
 85                     yes();
 86                 }else{
 87                     no();
 88                 }
 89         }
 90         if(fh.equals("*"))
 91         {
 92                 if(answer==w1*m1){
 93                    yes();
 94                 }else{
 95                    no();
 96                 }
 97         }
 98         if(fh.equals("/"))
 99         {
100                 if(answer==w1/m1){
101                     yes();
102                 }else{
103                     no();
104                 }
105         }
106 }
107 @Override
108 public void actionPerformed(ActionEvent e)
109     {
110     // !!!!
111     if(e.getActionCommand()=="aa")
112     {
113         cc();
114     }
115     }
116
117 }
118
119
120 class yy
121 {
122     private int max=4;
123     private int min=1;
124     private double w2,m2;
125     private String ff;
126     Random random = new Random();
127
128     //System.out.println(s);
129     public yy()
130     {
131     int s = random.nextInt(max)%(max-min+1) + min;
132
133     double x=random.nextInt(max-2)%(max-2-min+1) + min;
134
136     double y=random.nextInt(max-1)%(max-1-min+1) + min;
137     int y1up=(int) Math.pow(10,x);
138     int y1dn=(int) Math.pow(10,x-1);
139     int y2up=(int) Math.pow(10,y);
140     int y2dn=(int) Math.pow(10,y-1);
141     int x_y1=random.nextInt(y1up)%(y1up-y1dn+1) + y1dn;
142     int x_y2=random.nextInt(y2up)%(y2up-y2dn+1) + y2dn;
143     double w=(double)x_y1;
144     double m=(double)x_y2;
145     this.w2=w;
146     this.m2=m;
147     switch(s)
148     {
149     case 1:
150     {
151     this.ff="+";
152     System.out.println(w+"+"+m+"=" );
153     break;
154     }
155     case 2:
156     {
157     this.ff="-";
158     System.out.println(w+"-"+m+"=" );
159     break;
160     }
161     case 3:
162     {
163     this.ff="*";
164     System.out.println(w+"*"+m+"=" );
165     break;
166     }
167     case 4:
168     {
169     this.ff="/";
170     System.out.println(w+"/"+m+"=" );
171     break;
172     }
173
174     }
175     }
176     public double ret1()
177     {
178         return w2;
179     }
180     public double ret2()
181     {
182         return m2;
183     }
184     public String ret3()
185     {
186         return ff;
187     }
188 }

				
时间: 2024-08-09 22:02:37

哥java学识有大进 干回之前的小学生系统像切菜一样简单 不说了 来代码的相关文章

Java实例学习——企业进销存管理系统(3)

Java实例学习--企业进销存管理系统(3) (本实例为书上实例,我所记录的是我的学习过程) 开始时间:2月12日 完成时间:暂未完成 2月16日-公共类(Item公共类,数据模型公共类,Dao公共类),数据库操作 之前160多行的代码,我就很吃惊了,这下看到640多行的代码,虽然包括了注释,但是,足够让我大吃一惊了!就一个类,这么多代码,这一个系统做下来,有三万行代码也不奇怪了!感谢自己一直在进步,虽然慢了点,但是基础还是要扎扎实实地学好!导入实例文件后,登录时需要下载一个JDBC驱动程序,就

java byte 16进制转换

整型转16进制: int devIdInt = Integer.parseInt(devId); String devIdString = Integer.toHexString(devIdInt); 16进制转为字节: byte devBin = (byte) Integer.parseInt(devIdString, 16); byte devBin =Integer.valueOf(devIdString, 16).byteValue(); byte devBin =Byte.parseB

Java I/O : Java中的进制详解

作者:李强强 上一篇,泥瓦匠基础地讲了下Java I/O : Bit Operation 位运算.这一讲,泥瓦匠带你走进Java中的进制详解. 一.引子 在Java世界里,99%的工作都是处理这高层.那么二进制,字节码这些会在哪里用到呢? 自问自答:在跨平台的时候,就凸显神功了.比如说文件读写,数据通信,还有Java编译后的字节码文件.下面会有个数据通信的例子哦. Java对对象实现Serializablle接口,就可以将其转化为一系列字节,而在通信中,不必要关系数据如何在不同机器表示和字节的顺

java中的进制转换

进制转换 首先是十进制转化为其他进制,如二进制,八进制,十六进制: 它们在java中都有专门的函数可供调用: 如:十进制转化为二进制时调用toBinaryString(); 十进制转化为八进制时调用toOctalString(); 十进制转化为十六进制时调用toHexString(); 代码实现: // 进制转化 public class Main_2 { public static void main(String[] args) { Integer a=new Integer(20); //

Java编程判断是否是回文数

import javax.swing.JOptionPane; 自然数中还有一类数被称为回文数.回文数就是一个数的两边对称,如11,121,1221,9339,30203等等 public class CircleTest{ public static void main(String[] args){ String inputValue = JOptionPane.showInputDialog("请输入一个整数"); StringBuffer source = new String

java线程学生进实训室

Instructor: Dr. Simina FlutureCSCI 34 CSCI 34 CSCI 34CSCI 34 0 Summer 201 ummer 201 ummer 201ummer 201ummer 201 4Project 1 – Due Date: Friday, Aug. 1stThrough its implementation, this project will familiarize you with the creation and execution of th

Java中的进制

1.Java的内置进制的转化 Integer.toBinaryString(int i);//将十进制转化为二进制 Integer.toOctalString(int i);//将十进制转化为八进制 Integer.toHexString(int i);//将十进制转化为十六进制 Integer.valueOf("100",2);//将二进制转化为十进制 Integer.valueOf("376",8);//将八进制转化为十进制 Integer.valueOf(&q

小码哥Java大神班五期 任小龙SSM Spring5 Mybatis SpringMVC

详情请交流  QQ  709639943 00.小码哥Java大神班五期 任小龙SSM Spring5 Mybatis SpringMVC 00.Python玩转人工智能框架 TensorFlow 00.web开发级mysql颠覆实战课程 00.微信小游戏入门与实战 刷爆朋友圈 00.四大维度解锁 Webpack 3.0 前端工程化 00.前端成长必经之路-组件化思维与技巧 京东金融 01.从天气项目看Spring Cloud微服务治理 02.Java项目实战--报表开发(JasperRepor

java 不允许同一账户不同IP 同时登录系统解决办法 兼容IE Firefox

需求就是 不允许同一个账户同一时间登录系统.只要有一个账户在线其他人就是不能用这个账户. 功能很简单,过程很纠结 . 这篇文章解决了兼容IE.Firefox 浏览器下,不同IP 地址 同一用户同时登陆的解决办法,包括应对浏览器没有正常关闭的情况. 说下解决过程,本来以为用session存取就好了,后来只能在同一个浏览器内标签窗口好用.跨浏览器就不行.因为sessionId不一样.(经测试 跟sessionID 没关系 ) 网上找了一些解决办法.又是些监听器 又是写 方法的: 又是数据库加字段判断