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

coreBugZJ

此 blog 已棄。

計(jì)算器 Java實(shí)現(xiàn)

偶然從郵箱里發(fā)現(xiàn)的古董。。。




我的代碼:

  1 // windows
  2 
  3 
  4 /*
  5 版本 1.0
  6 
  7 顯示一行數(shù)字
  8 簡單二元運(yùn)算
  9 數(shù)字為 double 型
 10 無輸入數(shù)字位數(shù)限制
 11 可輸入過多的小數(shù)點(diǎn)
 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"計(jì)算器 -- 趙杰" );
 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 閱讀(1612) 評論(1)  編輯 收藏 引用 所屬分類: ProgrammingLanguage

Feedback

# re: 計(jì)算器 Java實(shí)現(xiàn) 2011-06-10 16:30 Skill

佩服樓主的敬業(yè)精神  回復(fù)  更多評論   


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久免费精品视频| 欧美日韩国产123区| 国产视频久久久久| 久久久夜精品| 日韩天堂在线视频| 久久国产精品久久久久久| 欧美日韩在线直播| 久久精品亚洲精品| 一区二区三区免费网站| 久久一区二区三区国产精品| 亚洲人成在线观看| 黄色资源网久久资源365| 欧美精品18+| 麻豆成人综合网| 亚洲欧美日韩精品在线| 亚洲乱码精品一二三四区日韩在线| 久久久久久9| 亚洲综合视频网| 日韩一级在线观看| 欧美福利视频在线| 亚洲视频一二三| 欧美超级免费视 在线| 亚洲在线电影| 欧美一区二区三区在| 亚洲特色特黄| 亚洲第一精品久久忘忧草社区| 国产精品中文在线| 欧美性猛交xxxx乱大交退制版| 欧美激情精品久久久| 久久久91精品国产| 欧美美女喷水视频| 欧美激情精品久久久久| 国产精品毛片高清在线完整版| 欧美日韩a区| 国产一区二区精品久久91| 国产精品尤物福利片在线观看| 在线观看三级视频欧美| 亚洲国产二区| 最新国产成人av网站网址麻豆 | 亚洲大片免费看| 欧美第十八页| 久久久久综合一区二区三区| 欧美劲爆第一页| 红桃视频国产精品| 黄色av日韩| 国产精品99久久久久久久vr| 麻豆久久婷婷| 亚洲国内高清视频| 亚洲精品美女| 99精品99久久久久久宅男| 亚洲精品欧美日韩专区| 欧美一级视频免费在线观看| 久久国内精品视频| 久久夜色精品国产亚洲aⅴ| 每日更新成人在线视频| 国产精品一区二区三区四区| 亚洲一级影院| 久久久精品一区二区三区| 99精品免费网| 久久gogo国模啪啪人体图| 亚洲巨乳在线| 欧美日本精品一区二区三区| 亚洲欧洲免费视频| 欧美丰满少妇xxxbbb| 久久av一区二区三区漫画| 久久艳片www.17c.com| 国产日韩精品综合网站| 午夜精品久久久久99热蜜桃导演| 久久国产精品久久久久久| 一本一本久久| 欧美色图天堂网| 亚洲一区二区欧美| 在线视频精品一| 亚洲欧洲av一区二区| 亚洲天堂av高清| 亚洲欧美日韩中文视频| 欧美日韩国产美女| 中日韩视频在线观看| 亚洲午夜电影网| 国产视频不卡| 男人的天堂亚洲在线| 免费亚洲电影在线| 国产精品―色哟哟| 亚洲精品乱码久久久久| 欧美亚洲三区| 91久久亚洲| 久久xxxx| 亚洲国产精品电影| 亚洲经典自拍| 国产精品v欧美精品v日韩精品| 亚洲欧美999| 亚洲精品美女| 国产日韩一区| 欧美激情按摩| 久久精品国产在热久久| 亚洲欧美日韩另类| 国产人成一区二区三区影院| 亚洲免费av观看| 欧美一区二区在线播放| 欧美在线一二三四区| 亚洲免费精彩视频| 亚洲欧美日韩第一区| 91久久国产综合久久91精品网站| 亚洲美女网站| 国产一区二区电影在线观看| 亚洲茄子视频| 在线观看的日韩av| 一区二区电影免费在线观看| 国产亚洲成人一区| 日韩视频在线你懂得| 黄色工厂这里只有精品| 亚洲美女免费视频| 在线观看日韩www视频免费| 亚洲图中文字幕| 亚洲国产va精品久久久不卡综合| 一区二区三区偷拍| 最近中文字幕日韩精品| 欧美亚洲一区在线| 亚洲美洲欧洲综合国产一区| 欧美在线视频日韩| 亚洲欧美综合| 欧美日韩在线视频一区二区| 久久久精品国产99久久精品芒果| 欧美韩日精品| 欧美超级免费视 在线| 国产在线精品二区| 久久精品免费| 欧美日韩精品二区第二页| 玖玖精品视频| 国产一区二区电影在线观看| 一区二区三区国产精品| 亚洲精品视频免费观看| 久久久欧美精品| 久久久www免费人成黑人精品| 欧美午夜免费| 亚洲在线播放| 一区二区三区三区在线| 亚洲欧美日韩电影| 欧美精品一区三区| 欧美v日韩v国产v| 狠狠操狠狠色综合网| 欧美一区二区精美| 久久精品女人天堂| 国产一区视频观看| 久久精品国产一区二区电影 | 久久影视三级福利片| 最新日韩在线| 久久资源av| 91久久在线视频| 一区二区三区你懂的| 欧美日韩午夜| 欧美大片免费看| 亚洲人妖在线| 欧美日韩国产不卡| 亚洲午夜精品一区二区| 久久av老司机精品网站导航| 狠狠久久亚洲欧美| 欧美成人午夜激情在线| 亚洲免费av片| 久久成人在线| 亚洲狠狠婷婷| 久久精品久久综合| 欧美激情第六页| 亚洲特黄一级片| 国产一区二区高清视频| 欧美aa国产视频| 中文无字幕一区二区三区| 久久精彩视频| 亚洲精品黄网在线观看| 国产精品久久久久免费a∨大胸 | 亚洲国产精品久久人人爱蜜臀| 一本色道久久88精品综合| 久久久水蜜桃| 亚洲美女在线视频| 久久欧美中文字幕| 夜夜爽av福利精品导航| 国产日韩欧美另类| 欧美国产先锋| 久久精品国产99| 99精品热视频| 欧美成人自拍视频| 欧美一区免费视频| 亚洲毛片一区| 国产自产精品| 国产精品成人观看视频免费 | 国产欧美一区二区精品性色| 欧美大片一区| 欧美一区二区三区婷婷月色| 亚洲美女在线国产| 欧美韩国日本综合| 欧美在线看片| 亚洲视频在线观看一区| 亚洲第一精品夜夜躁人人爽| 国产美女诱惑一区二区| 欧美日韩国产精品成人| 久久频这里精品99香蕉| 亚洲免费在线视频| 久久精品国产成人| 亚洲网在线观看| 一区二区国产日产|