日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java计算器模拟程序_模拟计算器java程序

發布時間:2023/12/10 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java计算器模拟程序_模拟计算器java程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 /*實現基本數學運算、函數等功能:加、減、乘、除、階乘、正弦、余弦和指數運算。2 界面將模擬Windows中的計算器程序。*/

3 import javax.swing.*;4 import java.awt.*;5 import java.awt.event.*;6 importjava.io.FileInputStream;7 importjava.io.FileOutputStream;8 importjava.io.ObjectInputStream;9 importjava.io.ObjectOutputStream;10 importjava.util.Hashtable;11

12 public class Calculator extends Frame implementsActionListener{13

14 Panel txtpanel,btnpanel,southpanel;15 JTextField txtinput;16 JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b0,bdes,bf;17 JButton chengbtn,chubtn,jiabtn,jianbtn,clearbtn,equalbtn,sinbtn,cosbtn,jiechengbtn,sqrtbtn,zhishubtn,daoshubtn;18 doublesum,result;19 Menu editM,searchM,helpM;20 MenuBar bar;21 String sign;22 boolean bool=true;23

24 publicCalculator()25 {26 super("計算器");27 txtpanel=newPanel();28 btnpanel=newPanel();29 southpanel=newPanel();30 txtinput=new JTextField(40);31 txtinput.setEditable(false);32 txtinput.setText("");33 bar=newMenuBar();34

35 helpM=new Menu("幫助");36 helpM.add(new MenuItem("幫助主題"));37 helpM.addSeparator();38 helpM.add(new MenuItem("sin 正弦"));39 helpM.add(new MenuItem("cos 余弦"));40 helpM.add(new MenuItem("! 階乘"));41 helpM.add(new MenuItem("C 清除"));42 helpM.add(new MenuItem("÷ 除"));43 helpM.add(new MenuItem("* 乘"));44 helpM.add(new MenuItem("+ 加"));45 helpM.add(new MenuItem("- 減"));46 helpM.add(new MenuItem("+/- 正負變號"));47 helpM.add(new MenuItem("√ 開方"));48 helpM.add(new MenuItem("1/x 倒數x^y"));49 helpM.add(new MenuItem("x^y 次方"));50 helpM.add(new MenuItem("1~9 數字鍵"));51 helpM.add(new MenuItem("= 等于"));52 bar.add(helpM);53

54 setMenuBar(bar);55 //關聯各鍵與符號并設置鍵的符號字體大小及顏色

56 b1=new JButton("1");57 b1.setFont (new Font("1",Font.BOLD,20));58 b1.setForeground(Color.black);59

60 b2=new JButton("2");61 b2.setFont (new Font("2",Font.BOLD,20));62 b2.setForeground(Color.black);63

64 b3=new JButton("3");65 b3.setFont (new Font("3",Font.BOLD,20));66 b3.setForeground(Color.black);67

68 b4=new JButton("4");69 b4.setFont (new Font("4",Font.BOLD,20));70 b4.setForeground(Color.black);71

72 b5=new JButton("5");73 b5.setFont (new Font("5",Font.BOLD,20));74 b5.setForeground(Color.black);75

76 b6=new JButton("6");77 b6.setFont (new Font("6",Font.BOLD,20));78 b6.setForeground(Color.black);79

80 b7=new JButton("7");81 b7.setFont (new Font("7",Font.BOLD,20));82 b7.setForeground(Color.black);83

84 b8=new JButton("8");85 b8.setFont (new Font("8",Font.BOLD,20));86 b8.setForeground(Color.black);87

88 b9=new JButton("9");89 b9.setFont (new Font("9",Font.BOLD,20));90 b9.setForeground(Color.black);91

92 b0=new JButton("0");93 b0.setFont (new Font("0",Font.BOLD,20));94 b0.setForeground(Color.black);95

96 bdes=new JButton(".");97 bdes.setFont (new Font(".",Font.BOLD,20));98 bdes.setForeground(Color.black);99

100 bf=new JButton("+/-");101 bf.setFont (new Font("+/-",Font.BOLD,20));102 bf.setForeground(Color.red);103

104 chengbtn=new JButton("*");105 chengbtn.setFont(new Font("*",Font.BOLD,20));106 chengbtn.setForeground(Color.red);107

108 chubtn=new JButton("÷");109 chubtn.setFont(new Font("÷",Font.BOLD,20));110 chubtn.setForeground(Color.red);111

112 jiabtn=new JButton("+");113 jiabtn.setFont(new Font("+",Font.BOLD,20));114 jiabtn.setForeground(Color.red);115

116 jianbtn=new JButton("-");117 jianbtn.setFont(new Font("-",Font.BOLD,20));118 jianbtn.setForeground(Color.red);119

120 clearbtn=new JButton("C");121 clearbtn.setFont(new Font("C",Font.BOLD,20));122 clearbtn.setForeground(Color.red);123 clearbtn.addActionListener(new ActionListener()//創建監聽器

124 {125 public voidactionPerformed(ActionEvent e){126 txtinput.setText("");127 }128 });129

130 sinbtn=new JButton("sin");131 sinbtn.setFont(new Font("sin",Font.BOLD,15));132 sinbtn.setForeground(Color.red);133

134 cosbtn=new JButton("cos");135 cosbtn.setFont(new Font("cos",Font.BOLD,15));136 cosbtn.setForeground(Color.red);137

138 sqrtbtn=new JButton("√");139 sqrtbtn.setFont(new Font("√",Font.BOLD,15));140 sqrtbtn.setForeground(Color.red);141

142 zhishubtn=new JButton("x^y");143 zhishubtn.setFont(new Font("x^y",Font.BOLD,15));144 zhishubtn.setForeground(Color.red);145

146 daoshubtn=new JButton("1/x");147 daoshubtn.setFont(new Font("1/x",Font.BOLD,15));148 daoshubtn.setForeground(Color.red);149

150 jiechengbtn=new JButton("!");151 jiechengbtn.setFont(new Font("!",Font.BOLD,20));152 jiechengbtn.setForeground(Color.red);153

154 equalbtn=new JButton("=");155 equalbtn.setFont(new Font("=",Font.BOLD,20));156 equalbtn.setForeground(Color.red);157 //設置鍵位分布

158 setLayout(newBorderLayout());159

160 txtpanel.add(txtinput);161 add("North",txtpanel);162

163 btnpanel.setLayout(new GridLayout(5,4,1,3));//五行四列分布

164

165 btnpanel.add(sinbtn);166 btnpanel.add(cosbtn);167 btnpanel.add(jiechengbtn);168 btnpanel.add(clearbtn);169 btnpanel.add(b1);170 btnpanel.add(b2);171 btnpanel.add(b3);172 btnpanel.add(chubtn);173 btnpanel.add(b4);174 btnpanel.add(b5);175 btnpanel.add(b6);176 btnpanel.add(chengbtn);177 btnpanel.add(b7);178 btnpanel.add(b8);179 btnpanel.add(b9);180 btnpanel.add(jianbtn);181 btnpanel.add(b0);182 btnpanel.add(bdes);183 btnpanel.add(bf);184 btnpanel.add(jiabtn);185

186 add("Center",btnpanel);187

188 southpanel.setLayout(new GridLayout(1,4,1,3));//一行四列分布

189 southpanel.add(sqrtbtn);190 southpanel.add(zhishubtn);191 southpanel.add(daoshubtn);192 southpanel.add(equalbtn);193

194 add("South",southpanel);195 //監聽按鍵

196 b1.addActionListener(this);197 b2.addActionListener(this);198 b3.addActionListener(this);199 b4.addActionListener(this);200 b5.addActionListener(this);201 b6.addActionListener(this);202 b7.addActionListener(this);203 b8.addActionListener(this);204 b9.addActionListener(this);205 b0.addActionListener(this);206 bdes.addActionListener(this);207 bf.addActionListener(this);208

209 sinbtn.addActionListener(this);210 cosbtn.addActionListener(this);211 jiechengbtn.addActionListener(this);212 sqrtbtn.addActionListener(this);213 zhishubtn.addActionListener(this);214 daoshubtn.addActionListener(this);215 chengbtn.addActionListener(this);216 chubtn.addActionListener(this);217 jiabtn.addActionListener(this);218 jianbtn.addActionListener(this);219 equalbtn.addActionListener(this);220

221 setSize(280,290);222 setVisible(true);223 setLocation(400,200);224 addWindowListener(newWindowCloser());225

226 }227

228 class WindowCloser extendsWindowAdapter{229 public voidwindowClosing(WindowEvent e){230 System.exit(0);231 }232 }233

234 public voidactionPerformed(ActionEvent e){235

236 Object obj=e.getSource();237 //設置相關計算方法

238 if(obj==b1)239 txtinput.setText(txtinput.getText()+"1");240 else if(obj==b2)241 txtinput.setText(txtinput.getText()+"2");242 else if(obj==b3)243 txtinput.setText(txtinput.getText()+"3");244 else if(obj==b4)245 txtinput.setText(txtinput.getText()+"4");246 else if(obj==b5)247 txtinput.setText(txtinput.getText()+"5");248 else if(obj==b6)249 txtinput.setText(txtinput.getText()+"6");250 else if(obj==b7)251 txtinput.setText(txtinput.getText()+"7");252 else if(obj==b8)253 txtinput.setText(txtinput.getText()+"8");254 else if(obj==b9)255 txtinput.setText(txtinput.getText()+"9");256 else if(obj==b0)257 txtinput.setText(txtinput.getText()+"0");258 else if(obj==bdes)259 txtinput.setText(txtinput.getText()+".");260

261 else if(obj==bf){262 sum=Double.valueOf(txtinput.getText()).doubleValue();263 boolean bool=true;264 if( bool){265 result=sum-2*sum;266 bool=false;267 }268 else{269 result=sum+2*sum;}270 txtinput.setText(String.valueOf(result));271 }272

273 else if(obj==sinbtn){274 sum=Double.valueOf(txtinput.getText()).doubleValue();275 result=Math.sin(sum);276 txtinput.setText(String.valueOf(result));277 }278

279 else if(obj==cosbtn){280 sum=Double.valueOf(txtinput.getText()).doubleValue();281 result=Math.cos(sum);282 txtinput.setText(String.valueOf(result));283 }284

285 else if(obj==zhishubtn){286 sum=Double.valueOf(txtinput.getText()).doubleValue();287 sign="x^y";288 txtinput.setText("");289 }290

291 else if(obj==daoshubtn){292 sum=Double.valueOf(txtinput.getText()).doubleValue();293 result=1/sum;294 txtinput.setText(String.valueOf(result));295 //sign="1/x";296 //txtinput.setText("");

297 }298

299 else if(obj==sqrtbtn){300 sum=Double.valueOf(txtinput.getText()).doubleValue();301 result=Math.sqrt(sum);302 txtinput.setText(String.valueOf(result));303 //sign="√";304 //txtinput.setText("");

305 }306

307 else if(obj==jiechengbtn){308 intn;309 n=(int)Double.valueOf(txtinput.getText()).doubleValue();310 result=fac(n);311 txtinput.setText(String.valueOf(result));312 }313

314 else if(obj==jiabtn)315 {316 sum=Double.valueOf(txtinput.getText()).doubleValue();317 sign="+";318 txtinput.setText("");319 }320

321 else if(obj==jianbtn)322 {323 sum=Double.valueOf(txtinput.getText()).doubleValue();324 sign="-";325 txtinput.setText("");326 }327 else if(obj==chubtn)328 {329 sum=Double.valueOf(txtinput.getText()).doubleValue();330 sign="÷";331 txtinput.setText("");332 }333

334 else if(obj==chengbtn)335 {336 sum=Double.valueOf(txtinput.getText()).doubleValue();337 sign="*";338 txtinput.setText("");339 }340

341 else if(sign=="+")342 {343 result=sum+Double.valueOf(txtinput.getText()).doubleValue();344 txtinput.setText(String.valueOf(result));345 }346

347 else if(sign=="-")348 {349 result=sum-Double.valueOf(txtinput.getText()).doubleValue();350 txtinput.setText(String.valueOf(result));351 }352

353 else if(sign=="÷")354 {355 doublen;356 String m="除零錯誤!";357 n=Double.valueOf(txtinput.getText()).doubleValue();358 if(n==0){359 JOptionPane.showMessageDialog(this, m, "error", JOptionPane.ERROR_MESSAGE);360 }361 else

362 result=sum/n;363 txtinput.setText(String.valueOf(result));364 }365

366 else if(sign=="*")367 {368 result=sum*Double.valueOf(txtinput.getText()).doubleValue();369 txtinput.setText(String.valueOf(result));370 }371

372 else if(sign=="x^y"){373 result=Math.pow(sum,Double.valueOf(txtinput.getText()).doubleValue());374 txtinput.setText(String.valueOf(result));375 }376

377 else if(sign=="sin")378 {379 result=Math.sin(sum);380 txtinput.setText(String.valueOf(result));381 }382

383 else if(sign=="cos")384 {385 result=Math.cos(sum);386 txtinput.setText(String.valueOf(result));387 }388

389 else if(sign=="!")390 {391 int i=(int)Double.valueOf(txtinput.getText()).doubleValue();392 for(int j=i;j>0;i--){393 result=j*(j-1);394 }395 txtinput.setText(String.valueOf(result));396 }397

398 else if(obj=="√"){;399 result=Math.sqrt(sum);400 txtinput.setText(String.valueOf(result));401 }402

403 else if(obj=="1/x"){404 result=1/sum;405 txtinput.setText(String.valueOf(result));406 }407 }408

409 private long fac(intn){410 longf;411 if(n==0)412 f=1;413 else f=fac(n-1)*n;414 returnf;415 }416 public static voidmain(String args[]){417 try{418 UIManager.setLookAndFeel ("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");419 } catch(Exception e) {}420 new Calculator();//使用windows顯示風格

421 }422

423 }

總結

以上是生活随笔為你收集整理的java计算器模拟程序_模拟计算器java程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。