青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

coreBugZJ

此 blog 已棄。

計算器 Java實現

偶然從郵箱里發現的古董。。。




我的代碼:

  1 // windows
  2 
  3 
  4 /*
  5 版本 1.0
  6 
  7 顯示一行數字
  8 簡單二元運算
  9 數字為 double 型
 10 無輸入數字位數限制
 11 可輸入過多的小數點
 12 
 13 界面:
 14 7 8 9 + div
 15 4 5 6 - mod
 16 1 2 3 * pow
 17 0 . = / ac
 18 */
 19 
 20 import java.awt.*;
 21 import java.awt.event.*;
 22 
 23 public class Calculator extends Frame implements ActionListener {
 24 
 25         public static void main(String[] args) {
 26                 new Calculator();
 27         }
 28 
 29         public Calculator() {
 30                 super"計算器 -- 趙杰" );
 31 
 32                 // keyBoard and key
 33                 key = new Button[ 300 ];
 34                 Panel kb = new Panel();
 35                 kb.setLayout( new GridLayout( 4533 ) );
 36                 int i;
 37 
 38                 key[ i = (int)'7' ] = new Button( "7" );
 39                 key[ i ].addActionListener( this );
 40                 kb.add( key[ i ] );
 41 
 42                 key[ i = (int)'8' ] = new Button( "8" );
 43                 key[ i ].addActionListener( this );
 44                 kb.add( key[ i ] );
 45 
 46                 key[ i = (int)'9' ] = new Button( "9" );
 47                 key[ i ].addActionListener( this );
 48                 kb.add( key[ i ] );
 49 
 50                 key[ i = (int)'+' ] = new Button( "+" );
 51                 key[ i ].addActionListener( this );
 52                 kb.add( key[ i ] );
 53 
 54                 key[ i = (int)'d' ] = new Button( "div" );
 55                 key[ i ].addActionListener( this );
 56                 kb.add( key[ i ] );
 57 
 58                 key[ i = (int)'4' ] = new Button( "4" );
 59                 key[ i ].addActionListener( this );
 60                 kb.add( key[ i ] );
 61 
 62                 key[ i = (int)'5' ] = new Button( "5" );
 63                 key[ i ].addActionListener( this );
 64                 kb.add( key[ i ] );
 65 
 66                 key[ i = (int)'6' ] = new Button( "6" );
 67                 key[ i ].addActionListener( this );
 68                 kb.add( key[ i ] );
 69 
 70                 key[ i = (int)'-' ] = new Button( "-" );
 71                 key[ i ].addActionListener( this );
 72                 kb.add( key[ i ] );
 73 
 74                 key[ i = (int)'m' ] = new Button( "mod" );
 75                 key[ i ].addActionListener( this );
 76                 kb.add( key[ i ] );
 77 
 78                 key[ i = (int)'1' ] = new Button( "1" );
 79                 key[ i ].addActionListener( this );
 80                 kb.add( key[ i ] );
 81 
 82                 key[ i = (int)'2' ] = new Button( "2" );
 83                 key[ i ].addActionListener( this );
 84                 kb.add( key[ i ] );
 85 
 86                 key[ i = (int)'3' ] = new Button( "3" );
 87                 key[ i ].addActionListener( this );
 88                 kb.add( key[ i ] );
 89 
 90                 key[ i = (int)'*' ] = new Button( "*" );
 91                 key[ i ].addActionListener( this );
 92                 kb.add( key[ i ] );
 93 
 94                 key[ i = (int)'p' ] = new Button( "pow" );
 95                 key[ i ].addActionListener( this );
 96                 kb.add( key[ i ] );
 97 
 98                 key[ i = (int)'0' ] = new Button( "0" );
 99                 key[ i ].addActionListener( this );
100                 kb.add( key[ i ] );
101 
102                 key[ i = (int)'.' ] = new Button( "." );
103                 key[ i ].addActionListener( this );
104                 kb.add( key[ i ] );
105 
106                 key[ i = (int)'=' ] = new Button( "=" );
107                 key[ i ].addActionListener( this );
108                 kb.add( key[ i ] );
109 
110                 key[ i = (int)'/' ] = new Button( "/" );
111                 key[ i ].addActionListener( this );
112                 kb.add( key[ i ] );
113 
114                 key[ i = (int)'a' ] = new Button( "ac" );
115                 key[ i ].addActionListener( this );
116                 kb.add( key[ i ] );
117 
118                 this.add( kb );
119 
120                 // window
121                 this.addWindowListener( new WindowAdapter() {
122                         public void windowClosing( WindowEvent e ) {
123                                 System.exit( 0 );
124                         }
125                 } );
126                 this.setBounds( 200200300210 );
127                 this.setLayout( new BorderLayout() );
128                 dis = new TextArea( ""120, TextArea.SCROLLBARS_NONE );
129                 dis.setEditable( false );
130                 this.add( dis, BorderLayout.NORTH );
131                 this.add( kb, BorderLayout.CENTER );
132                 this.setVisible( true );
133                 this.validate();
134 
135                 // data
136                 bError   = false;
137                 totInput = 0;
138                 lastAns  = false;
139         }
140 
141         public void actionPerformed( ActionEvent e ) {
142                 Object ob = e.getSource();
143                 if ( bError && ( ob != key[ (int)'a' ] ) ) {
144                         return;
145                 }
146                 for ( char ch = '0'; ch <= '9'++ch ) {
147                         if ( ob == key[ (int)ch ] ) {
148                                 if ( ( totInput == 0 ) || ( totInput == 2 ) ) {
149                                         dis.setText( "" );
150                                         ++totInput;
151                                 }
152                                 if ( lastAns ) {
153                                         dis.setText( "" );
154                                         lastAns = false;
155                                         totInput = 1;
156                                 }
157                                 dis.append( new Character( ch ).toString() );
158                                 this.validate();
159                                 return;
160                         }
161                 }
162                 if ( ob == key[ (int)'.' ] ) {
163                         if ( ( totInput == 0 ) || ( totInput == 2 ) ) {
164                                 return;
165                         }
166                         dis.append( "." );
167                         this.validate();
168                         return;
169                 }
170                 if ( ob == key[ (int)'a' ] ) {
171                         dis.setText( "" );
172                         totInput = 0;
173                         bError   = false;
174                         lastAns  = false;
175                         this.validate();
176                         return;
177                 }
178                 lastAns = false;
179                 if ( totInput == 0 ) {
180                         return;
181                 }
182                 if ( ( totInput != 3 ) && ( ob == key[ (int)'=' ] ) ) {
183                         return;
184                 }
185                 if ( ( totInput == 1 ) || ( totInput == 3 ) ) {
186                         if ( cantStrToNum( totInput == 1 ) ) {
187                                 dis.setText( "Error" );
188                                 bError = true;
189                                 this.validate();
190                                 return;
191                         }
192                         if ( totInput == 3 ) {
193                                 if ( cantCalcAns() ) {
194                                         dis.setText( "Error" );
195                                         bError = true;
196                                         this.validate();
197                                         return;
198                                 }
199                                 dis.setText( new Double( ans ).toString() );
200                                 totInput = 1;
201                                 this.validate();
202                                 lastAns = true;
203                                 return;
204                         }
205                         ++totInput;
206                 }
207                 if ( ob == key[ (int)'+' ] ) {
208                         op = '+';
209                         dis.setText( "+" );
210                         this.validate();
211                         return;
212                 }
213                 if ( ob == key[ (int)'d' ] ) {
214                         op = 'd';
215                         dis.setText( "div" );
216                         this.validate();
217                         return;
218                 }
219                 if ( ob == key[ (int)'-' ] ) {
220                         op = '-';
221                         dis.setText( "-" );
222                         this.validate();
223                         return;
224                 }
225                 if ( ob == key[ (int)'m' ] ) {
226                         op = 'm';
227                         dis.setText( "mod" );
228                         this.validate();
229                         return;
230                 }
231                 if ( ob == key[ (int)'*' ] ) {
232                         op = '*';
233                         dis.setText( "*" );
234                         this.validate();
235                         return;
236                 }
237                 if ( ob == key[ (int)'p' ] ) {
238                         op = 'p';
239                         dis.setText( "pow" );
240                         this.validate();
241                         return;
242                 }
243                 if ( ob == key[ (int)'/' ] ) {
244                         op = '/';
245                         dis.setText( "/" );
246                         this.validate();
247                         return;
248                 }
249         }
250 
251         private boolean cantCalcAns() {
252                 switch ( op ) {
253                         case '+' : ans = first + second; break;
254                         case '-' : ans = first - second; break;
255                         case '*' : ans = first * second; break;
256                         case '/' : 
257                                 if ( second == 0 ) {
258                                         return true;
259                                 }
260                                 ans = first / second; break;
261                         case 'd' : 
262                                 if ( second == 0 ) {
263                                         return true;
264                                 }
265                                 ans = ((int)first) / ((int)second); break;
266                         case 'm' : 
267                                 if ( second == 0 ) {
268                                         return true;
269                                 }
270                                 ans = ((int)first) % ((int)second); break;
271                         case 'p' : ans = Math.pow( first, second ); break;
272                 }
273                 return false;
274         }
275 
276         private boolean cantStrToNum( boolean toFirst ) {
277                 try {
278                         if ( toFirst ) {
279                                 first = Double.parseDouble( dis.getText() );
280                         }
281                         else {
282                                 second = Double.parseDouble( dis.getText() );
283                         }
284                 }
285                 catch ( Exception ex ) {
286                         return true;
287                 }
288                 return false;
289         }
290 
291         private TextArea  dis;
292         private Button[]  key;
293         private double    first, second, ans;
294         private char      op;
295         private int       totInput;
296         private boolean   bError, lastAns;
297 //        private final int MAX_NUM_LEN = 13;
298 
299 }
300 

 

posted on 2011-06-09 20:00 coreBugZJ 閱讀(1613) 評論(1)  編輯 收藏 引用 所屬分類: ProgrammingLanguage

Feedback

# re: 計算器 Java實現 2011-06-10 16:30 Skill

佩服樓主的敬業精神  回復  更多評論   


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久精品一区二区国产| 老司机午夜精品视频在线观看| 亚洲欧洲一区二区在线观看 | 亚洲一区中文| 亚洲日韩视频| 欧美日韩一区二区免费视频| 中文在线不卡| 亚洲一区在线观看视频| 国产欧美在线观看一区| 久久久亚洲高清| 免费观看成人www动漫视频| 亚洲国产一区在线| 日韩一区二区电影网| 国产精品高精视频免费| 欧美在线观看一二区| 久久先锋资源| 亚洲亚洲精品在线观看 | 欧美3dxxxxhd| 欧美精品在线观看一区二区| 亚洲一区在线观看视频| 久久大香伊蕉在人线观看热2| 亚洲高清不卡av| 亚洲精品小视频| 国产午夜精品麻豆| 欧美成人一区二区三区片免费| 欧美日本网站| 久久久久九九视频| 欧美激情第五页| 久久久久久久综合| 欧美日韩国产成人精品| 久久久久久久一区| 欧美日韩亚洲免费| 免费欧美在线视频| 国产精品一区二区在线观看网站 | 亚洲欧美日韩中文视频| 亚洲国产另类久久精品| 亚洲天堂av高清| 91久久国产精品91久久性色| 宅男噜噜噜66一区二区66| 在线欧美不卡| 欧美一区二区三区播放老司机| 一区二区三欧美| 久久综合九色九九| 久久精品国产亚洲高清剧情介绍 | 亚洲一区二区3| 亚洲精品久久久久中文字幕欢迎你 | 狠狠噜噜久久| 亚洲一区二区在线免费观看视频| 亚洲国产日韩欧美在线99| 亚洲欧美日韩在线| 亚洲欧美日韩一区二区| 欧美精品九九99久久| 欧美国产在线电影| 在线播放一区| 久久精品成人欧美大片古装| 亚洲欧美一区二区三区在线| 欧美三日本三级三级在线播放| 亚洲福利视频三区| 怡红院精品视频| 久久国产88| 久久久xxx| 国产亚洲精品久久飘花| 亚洲在线1234| 欧美一区二区网站| 国产精品视频yy9099| 亚洲一区精品电影| 久久电影一区| 黄色一区二区在线| 久久久噜噜噜久久中文字免| 欧美xxxx在线观看| 亚洲激情第一页| 欧美国产日本韩| 亚洲美女精品久久| 亚洲视频久久| 国产精品亚洲а∨天堂免在线| 亚洲一区二区三区在线视频| 欧美一区亚洲二区| 国语自产精品视频在线看| 久久久综合网| 亚洲日本免费| 新67194成人永久网站| 国产精品视频成人| 久久疯狂做爰流白浆xx| 欧美国产精品va在线观看| 亚洲精品国产精品乱码不99按摩 | 欧美精品日韩| 一本色道久久综合亚洲精品婷婷 | 亚洲欧美韩国| 久久久亚洲高清| 亚洲精品欧美日韩| 欧美日本久久| 午夜亚洲性色福利视频| 麻豆成人综合网| av成人免费在线观看| 欧美午夜精品久久久久久人妖 | 欧美一区二区三区的| 免费欧美在线视频| 一区二区欧美亚洲| 国内综合精品午夜久久资源| 欧美搞黄网站| 亚洲欧美视频一区| 欧美激情成人在线视频| 亚洲嫩草精品久久| 亚洲福利电影| 国产精品久久久久77777| 久久国产精品久久久久久| 亚洲韩国日本中文字幕| 亚洲欧美亚洲| 日韩视频三区| 激情五月***国产精品| 欧美日韩国产精品一区| 久久精品国产一区二区三区免费看| 欧美激情在线观看| 欧美在线资源| 亚洲欧美999| 亚洲美女福利视频网站| 国产一区二区日韩| 欧美视频在线观看免费| 久久深夜福利| 欧美有码在线观看视频| 亚洲精品久久嫩草网站秘色| 久久婷婷av| 欧美亚洲日本网站| 一区二区三区国产精华| 亚洲黄色毛片| 狠狠色2019综合网| 国产日韩欧美在线视频观看| 欧美亚男人的天堂| 欧美阿v一级看视频| 久久精品国产99精品国产亚洲性色| 夜夜夜久久久| 亚洲精品国产无天堂网2021| 免费看的黄色欧美网站| 久久激情五月丁香伊人| 先锋a资源在线看亚洲| 在线天堂一区av电影| 亚洲精品欧洲| 亚洲免费精品| 99亚洲视频| 亚洲桃花岛网站| 一本色道久久| 在线亚洲激情| 亚洲天堂偷拍| 亚洲欧美精品| 性欧美xxxx大乳国产app| 亚洲影院免费| 午夜一区不卡| 欧美一区二区视频在线| 欧美一区二区视频观看视频| 久久av一区二区三区漫画| 亚洲欧美日韩国产精品| 香蕉国产精品偷在线观看不卡| 亚洲欧美日韩爽爽影院| 欧美一级视频精品观看| 久久国内精品视频| 另类人畜视频在线| 欧美国产第一页| 日韩一级黄色大片| 亚洲一级黄色| 久久超碰97人人做人人爱| 久久久久久久精| 欧美久久电影| 国产精品视频一区二区三区 | 狂野欧美性猛交xxxx巴西| 久久综合九色综合欧美就去吻 | 中文在线资源观看视频网站免费不卡| 亚洲精品一区二区三区99| 亚洲精华国产欧美| 夜夜嗨av一区二区三区四区| 亚洲男人第一av网站| 久久aⅴ国产紧身牛仔裤| 免费视频一区| 欧美三级午夜理伦三级中视频| 国产精品一区二区男女羞羞无遮挡| 国产精品一区二区女厕厕| 精品91在线| 一区二区三区欧美视频| 欧美淫片网站| 亚洲经典自拍| 欧美一区三区二区在线观看| 欧美高清在线视频| 国产欧美69| 日韩一区二区精品葵司在线| 久久aⅴ国产欧美74aaa| 欧美成人激情视频| 在线亚洲欧美专区二区| 久久久久久免费| 国产精品ⅴa在线观看h| 精品二区视频| 欧美一级久久| 亚洲黄色有码视频| 久久不射2019中文字幕| 欧美手机在线视频| 亚洲国产二区| 久久精品免费| 99在线观看免费视频精品观看| 久久久久高清| 国产日韩欧美亚洲一区| 亚洲私拍自拍| 亚洲韩日在线|