---恢復內容開始---
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/
---恢復內容結束---