zoukankan      html  css  js  c++  java
  • java小学生四则运算带面板版 但我不知道为什么同类变量却进不了动作监听中去

    ---恢复内容开始---

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






    为什么同类变量却进不了动作监听中去
    求教

    结伴同学 曾威
    http://www.cnblogs.com/zengwei35/









    ---恢复内容结束---

  • 相关阅读:
    linux环境变量
    linux make configure make
    摘自(http://www.ruanyifeng.com/blog/2011/07/linux_load_average_explained.html)
    linux eaccelerator
    linux du df ls
    linux phpize
    mysql 分页
    mysql 执行计划和慢日志记录
    mysql 添加/删除列(column)
    mysql 索引
  • 原文地址:https://www.cnblogs.com/vip-fan1234xiang/p/4411014.html
Copyright © 2011-2022 走看看