科学计算器源代码.docx

上传人:b****4 文档编号:5630861 上传时间:2023-05-08 格式:DOCX 页数:21 大小:18.67KB
下载 相关 举报
科学计算器源代码.docx_第1页
第1页 / 共21页
科学计算器源代码.docx_第2页
第2页 / 共21页
科学计算器源代码.docx_第3页
第3页 / 共21页
科学计算器源代码.docx_第4页
第4页 / 共21页
科学计算器源代码.docx_第5页
第5页 / 共21页
科学计算器源代码.docx_第6页
第6页 / 共21页
科学计算器源代码.docx_第7页
第7页 / 共21页
科学计算器源代码.docx_第8页
第8页 / 共21页
科学计算器源代码.docx_第9页
第9页 / 共21页
科学计算器源代码.docx_第10页
第10页 / 共21页
科学计算器源代码.docx_第11页
第11页 / 共21页
科学计算器源代码.docx_第12页
第12页 / 共21页
科学计算器源代码.docx_第13页
第13页 / 共21页
科学计算器源代码.docx_第14页
第14页 / 共21页
科学计算器源代码.docx_第15页
第15页 / 共21页
科学计算器源代码.docx_第16页
第16页 / 共21页
科学计算器源代码.docx_第17页
第17页 / 共21页
科学计算器源代码.docx_第18页
第18页 / 共21页
科学计算器源代码.docx_第19页
第19页 / 共21页
科学计算器源代码.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

科学计算器源代码.docx

《科学计算器源代码.docx》由会员分享,可在线阅读,更多相关《科学计算器源代码.docx(21页珍藏版)》请在冰点文库上搜索。

科学计算器源代码.docx

科学计算器源代码

packagetwo;

importjava.awt.*;

importjavax.swing.*;

importjava.awt.event.*;

importjava.io.*;

importjava.util.*;

publicclasscalculatorimplementsActionListener{

intcount=0;

privatestaticinta;

JFrameframe=newJFrame("计算器");

JTextAreaarea=newJTextArea();

JTextFieldfieldshow=newJTextField("0");

JTextFieldfieldcalculator=newJTextField();

JPanelleftpanel=newJPanel();

JPanelrightpanel=newJPanel();

JPanelbuttonpanel=newJPanel();

JPanelmotionpanel=newJPanel();

JButtonbutton1=newJButton("1");

JButtonbutton2=newJButton("2");

JButtonbutton3=newJButton("3");

JButtonbutton4=newJButton("+");

JButtonbutton5=newJButton("c");

JButtonbutton6=newJButton("4");

JButtonbutton7=newJButton("5");

JButtonbutton8=newJButton("6");

JButtonbutton9=newJButton("-");

JButtonbutton10=newJButton("退格");

JButtonbutton11=newJButton("7");

JButtonbutton12=newJButton("8");

JButtonbutton13=newJButton("9");

JButtonbutton14=newJButton("*");

JButtonbutton15=newJButton("sin");

JButtonbutton16=newJButton("0");

JButtonbutton17=newJButton("+/-");

JButtonbutton18=newJButton(".");

JButtonbutton19=newJButton("/");

JButtonbutton20=newJButton("=");

JButtonbutton21=newJButton("保存");

JButtonbutton22=newJButton("复制");

JButtonbutton23=newJButton("清除");

StringBufferS=newStringBuffer("");

//t用来记录前一个运算符号是+-*/=中的哪一个

chart;

//count用来实现运算符号计数,a用来识别退格、正负号操作前一个操作是否是运算符号+-*/sin=

//intcount=0,a=0;

Doublex1,x2=0d,result;

publicstaticvoidmain(Stringa[]){

calculatorthat=newcalculator();

that.go();

}

voidgo(){

leftpanel.setLayout(newBorderLayout());

leftpanel.add(fieldshow,BorderLayout.NORTH);

leftpanel.add(buttonpanel,BorderLayout.CENTER);

buttonpanel.setLayout(newGridLayout(4,5));

buttonpanel.add(button1);

buttonpanel.add(button2);

buttonpanel.add(button3);

buttonpanel.add(button4);

buttonpanel.add(button5);

buttonpanel.add(button6);

buttonpanel.add(button7);

buttonpanel.add(button8);

buttonpanel.add(button9);

buttonpanel.add(button10);

buttonpanel.add(button11);

buttonpanel.add(button12);

buttonpanel.add(button13);

buttonpanel.add(button14);

buttonpanel.add(button15);

buttonpanel.add(button16);

buttonpanel.add(button17);

buttonpanel.add(button18);

buttonpanel.add(button19);

buttonpanel.add(button20);

button1.addActionListener(this);//事件监听

button2.addActionListener(this);

button3.addActionListener(this);

button4.addActionListener(this);

button5.addActionListener(this);

button6.addActionListener(this);

button7.addActionListener(this);

button8.addActionListener(this);

button9.addActionListener(this);

button10.addActionListener(this);

button11.addActionListener(this);

button12.addActionListener(this);

button13.addActionListener(this);

button14.addActionListener(this);

button15.addActionListener(this);

button16.addActionListener(this);

button17.addActionListener(this);

button18.addActionListener(this);

button19.addActionListener(this);

button20.addActionListener(this);

button21.addActionListener(this);

button22.addActionListener(this);

button23.addActionListener(this);

rightpanel.setLayout(newBorderLayout());

rightpanel.add(fieldcalculator,BorderLayout.NORTH);

rightpanel.add(area,BorderLayout.CENTER);

rightpanel.add(motionpanel,BorderLayout.SOUTH);

motionpanel.add(button21);

motionpanel.add(button22);

motionpanel.add(button23);

Containercon=frame.getContentPane();

frame.setLayout(newGridLayout(1,2));

con.add(leftpanel);

con.add(rightpanel);

frame.setBounds(200,200,600,300);

frame.setVisible(true);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.addWindowListener(newWindowListener(){//关闭程序时弹出警告

publicvoidwindowClosing(WindowEvente){

intresult=JOptionPane.showConfirmDialog(frame,"确实要关闭程序吗?

",

"警告",JOptionPane.OK_CANCEL_OPTION);

if(result==JOptionPane.OK_CANCEL_OPTION){

System.exit(0);

}else{

}

}

publicvoidwindowOpened(WindowEvente){}

publicvoidwindowIconified(WindowEvente){}

publicvoidwindowDeiconified(WindowEvente){}

publicvoidwindowDeactivated(WindowEvente){}

publicvoidwindowClosed(WindowEvente){}

publicvoidwindowActivated(WindowEvente){}

});

}

publicvoidactionPerformed(ActionEvente){

//0123456789等按钮

if(e.getSource()==button1||e.getSource()==button2

||e.getSource()==button3||e.getSource()==button6

||e.getSource()==button7||e.getSource()==button8

||e.getSource()==button11||e.getSource()==button12

||e.getSource()==button13||e.getSource()==button16){

a=0;

if(count==0){

S.append(e.getActionCommand());

fieldshow.setText(S.toString());

x1=Double.parseDouble(fieldshow.getText());

}elseif(count>=1){

S.append(e.getActionCommand());

fieldshow.setText(S.toString());

x2=Double.parseDouble(fieldshow.getText());

}

}

//小数点的容错性

if(e.getSource()==button18)//单击"."按钮输入小数

{

a=0;

if(fieldshow.getText().trim().indexOf(".")!

=-1)//判断字符串中是否已经包含了小数点

{

}else//如果没有小数点

{

if(fieldshow.getText().trim().equals("0"))//如果初时显示为0

{

S.setLength(0);

fieldshow.setText((S.append("0"+e.getActionCommand()))

.toString());

}elseif(fieldshow.getText().trim().equals(""))//如果初时显示为空则不做任何操作

{

}else{

fieldshow

.setText(S.append(e.getActionCommand()).toString());

}

}

}

//运算符号+-*/

if(e.getSource()==button4||e.getSource()==button9

||e.getSource()==button14||e.getSource()==button19){

count++;

a=1;

S.setLength(0);

if(e.getSource()==button4)//+法

{

switch(t){

case'+':

result=x1+x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1+"+"+x2+"="+result);

area.append(x1+"+"+x2+"="+result+"\n");

break;

case'-':

result=x1-x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1+"+"+x2+"="+result);

area.append(x1+"-"+x2+"="+result+"\n");

break;

case'*':

result=x1*x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1+"+"+x2+"="+result);

area.append(x1+"*"+x2+"="+result+"\n");

break;

case'/':

if(x2==0)

fieldshow.setText("除数不能为零");

else{

result=x1/x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1+"+"+x2+"="+result);

area.append(x1+"/"+x2+"="+result+"\n");

}

break;

case'=':

default:

}

if(count<=1){

}elseif(count>=2){

x1=result;

}

t='+';

}

if(e.getSource()==button9)//-法

{

switch(t){

case'+':

result=x1+x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1+"+"+x2+"="+result);

area.append(x1+"+"+x2+"="+result+"\n");

break;

case'-':

result=x1-x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1+"-"+x2+"="+result);

area.append(x1+"-"+x2+"="+result+"\n");

break;

case'*':

result=x1*x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1+"*"+x2+"="+result);

area.append(x1+"*"+x2+"="+result+"\n");

break;

case'/':

if(x2==0)

fieldshow.setText("除数不能为零");

else{

result=x1/x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1+"/"+x2+"="+result);

area.append(x1+"/"+x2+"="+result+"\n");

}

break;

case'=':

default:

}

if(count<=1){

}elseif(count>=2){

x1=result;

}

t='-';

}

if(e.getSource()==button14)//*法

{

switch(t){

case'+':

result=x1+x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1+"+"+x2+"="+result);

area.append(x1+"+"+x2+"="+result+"\n");

break;

case'-':

result=x1-x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1+"-"+x2+"="+result);

area.append(x1+"-"+x2+"="+result+"\n");

break;

case'*':

result=x1*x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1+"*"+x2+"="+result);

area.append(x1+"*"+x2+"="+result+"\n");

break;

case'/':

if(x2==0)

fieldshow.setText("除数不能为零");

else{

result=x1/x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1+"/"+x2+"="+result);

area.append(x1+"/"+x2+"="+result+"\n");

}

break;

case'=':

default:

}

if(count<=1){

}elseif(count>=2){

x1=result;

}

t='*';

}

if(e.getSource()==button19)///法

{

switch(t){

case'+':

result=x1+x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1+"+"+x2+"="+result);

area.append(x1+"+"+x2+"="+result+"\n");

break;

case'-':

result=x1-x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1+"-"+x2+"="+result);

area.append(x1+"-"+x2+"="+result+"\n");

break;

case'*':

result=x1*x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1+"*"+x

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2