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

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 閱讀(1612) 評論(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>
            狠狠色综合色综合网络| 亚洲一区二区三区影院| 亚洲校园激情| 亚洲欧美日韩精品久久亚洲区| 99国产精品99久久久久久粉嫩| 亚洲国产mv| 亚洲精品乱码久久久久久蜜桃91| 亚洲精品国产无天堂网2021| 亚洲欧洲日韩综合二区| 亚洲视频欧洲视频| 久久久久久久久综合| 欧美高清在线观看| 99国产精品国产精品毛片| 午夜精品久久久| 麻豆精品在线视频| 国产精品国产三级国产普通话三级 | 国产精品视频专区| 国产亚洲欧美激情| 亚洲国产精品久久久久久女王| 亚洲精品中文字幕在线| 欧美一区二区黄| 欧美激情导航| 欧美亚洲综合网| 欧美日韩国产系列| 一区二区三区亚洲| 亚洲欧美日本日韩| 亚洲国产福利在线| 亚洲综合欧美| 欧美日韩国产精品成人| 韩国三级在线一区| 亚洲男女自偷自拍| 最新国产乱人伦偷精品免费网站| 性色一区二区三区| 欧美午夜电影在线观看| 亚洲国产精品电影| 久久久精品日韩| 亚洲视频在线观看| 欧美日韩免费一区二区三区视频| 永久91嫩草亚洲精品人人| 亚洲欧美日韩综合| 99精品久久| 欧美日韩精品在线视频| 亚洲激情黄色| 免费在线观看成人av| 欧美中文字幕第一页| 国产精品一区二区欧美| 亚洲综合大片69999| 日韩一区二区久久| 欧美精品在线观看91| 亚洲精品日韩精品| 亚洲福利视频三区| 欧美成人免费网站| 91久久久精品| 亚洲第一精品夜夜躁人人躁| 久久久久免费视频| **欧美日韩vr在线| 欧美高清在线视频观看不卡| 久久综合九色综合欧美狠狠| 樱桃国产成人精品视频| 麻豆国产va免费精品高清在线| 欧美在线视频全部完| 国产情侣一区| 另类春色校园亚洲| 免费高清在线一区| 日韩亚洲欧美成人| 一区二区三区四区五区视频| 欧美视频一区二区在线观看 | 欧美激情中文字幕在线| 午夜国产精品视频| 美女主播视频一区| 久久久久久午夜| 亚洲成人资源网| 亚洲电影免费观看高清完整版在线| 久久中文精品| 亚洲日本中文| 亚洲理论在线| 国产精品久久久久91| 欧美主播一区二区三区美女 久久精品人| 亚洲视频在线观看三级| 国产一区二区三区的电影| 你懂的成人av| 欧美视频在线观看| 久久久久这里只有精品| 麻豆国产va免费精品高清在线| 日韩午夜剧场| 香港久久久电影| 91久久国产综合久久| 夜夜嗨网站十八久久| 国内久久婷婷综合| 亚洲精品乱码久久久久久日本蜜臀| 欧美视频二区| 美女视频黄a大片欧美| 欧美日韩成人综合在线一区二区| 久久国产精品久久国产精品| 模特精品裸拍一区| 欧美伊人久久大香线蕉综合69| 麻豆久久久9性大片| 欧美亚洲视频在线观看| 免费在线国产精品| 欧美有码视频| 欧美日韩国产999| 老牛嫩草一区二区三区日本| 欧美日韩天堂| 亚洲第一久久影院| 国产日韩精品一区观看| 亚洲人成网站色ww在线| 在线成人免费观看| 亚洲欧美国产精品桃花| 亚洲精品欧美一区二区三区| 欧美与欧洲交xxxx免费观看 | 国产精品美女主播| 亚洲福利在线观看| 国产日韩一区在线| 中文成人激情娱乐网| 亚洲国产乱码最新视频| 欧美一区二区视频在线观看| 亚洲免费影视| 欧美日韩一级视频| 亚洲国产老妈| …久久精品99久久香蕉国产| 亚洲欧美日韩精品在线| 亚洲一区二区三| 欧美日韩国产精品成人| 91久久极品少妇xxxxⅹ软件| 在线日韩成人| 久久精品国产99精品国产亚洲性色 | 夜夜爽99久久国产综合精品女不卡| 亚洲国产一成人久久精品| 久久全球大尺度高清视频| 久久九九99| 久久av一区二区三区| 欧美日韩精品一区二区三区四区| 欧美14一18处毛片| 在线免费观看视频一区| 久久精品九九| 久久久久久久久久久久久久一区| 国产女人18毛片水18精品| 亚洲在线一区| 欧美在线观看天堂一区二区三区| 国产精品日韩欧美综合| 亚洲欧美激情精品一区二区| 午夜精品久久久久久久白皮肤| 国产精品久久久久毛片软件| 亚洲影视在线播放| 久久久久亚洲综合| 亚洲电影专区| 欧美欧美在线| 亚洲一区免费在线观看| 久久精品国产99国产精品澳门| 国产亚洲欧美日韩一区二区| 久久久综合免费视频| 亚洲国产成人av在线| 在线亚洲免费| 国产日韩精品在线观看| 浪潮色综合久久天堂| 亚洲六月丁香色婷婷综合久久| 亚洲欧美日韩国产综合在线| 国产午夜精品全部视频播放| 久久精品日韩欧美| 亚洲激情精品| 性欧美8khd高清极品| 伊人久久综合97精品| 欧美日韩国产欧| 香蕉久久一区二区不卡无毒影院| 久久久久一区二区三区四区| 亚洲精品欧洲精品| 国产毛片一区| 欧美激情中文字幕乱码免费| 亚洲一区三区视频在线观看| 久久婷婷国产综合精品青草| 日韩亚洲视频| 黄色小说综合网站| 欧美日韩一区自拍| 久久久无码精品亚洲日韩按摩| 亚洲人成网站色ww在线| 欧美在线国产| 亚洲美女啪啪| 影院欧美亚洲| 国产精品福利在线观看网址| 久久久www成人免费无遮挡大片| 亚洲三级电影全部在线观看高清| 欧美一区二视频在线免费观看| 亚洲区一区二区三区| 国产日韩欧美不卡| 欧美天天在线| 欧美精品激情| 久热精品在线视频| 亚洲欧美综合另类中字| 亚洲免费大片| 亚洲第一区中文99精品| 久久九九99| 欧美一级视频精品观看| 一区二区成人精品| 亚洲经典自拍| **网站欧美大片在线观看| 国产日韩高清一区二区三区在线| 欧美日韩裸体免费视频| 国产精品成人免费视频| 免费观看久久久4p| 午夜视频精品|