java计算器小程序.docx

上传人:b****3 文档编号:24738879 上传时间:2023-06-01 格式:DOCX 页数:12 大小:16.92KB
下载 相关 举报
java计算器小程序.docx_第1页
第1页 / 共12页
java计算器小程序.docx_第2页
第2页 / 共12页
java计算器小程序.docx_第3页
第3页 / 共12页
java计算器小程序.docx_第4页
第4页 / 共12页
java计算器小程序.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

java计算器小程序.docx

《java计算器小程序.docx》由会员分享,可在线阅读,更多相关《java计算器小程序.docx(12页珍藏版)》请在冰豆网上搜索。

java计算器小程序.docx

java计算器小程序

Myeclipse环境下Java语言编写的计算器小程序源代码

//程序的主要部分

packagepkg_1;

importjava.awt.*;

importjava.awt.Button;

importjava.awt.GridLayout;

importjava.awt.Panel;

importjava.awt.TextField;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.awt.event.WindowEvent;

importjava.awt.event.WindowListener;

publicclasscacalatorextendsFrameimplementsActionListener,WindowListener{

Stringbutton_name[]={"1","2","3","+","4","5","6","-","7","8","9","*","0","=","清除","/"};//按钮上的字符串

Buttonbut[];//按钮数组

TextFieldtext_1;//一个文本框用于记录数入的字符串

Panelpan_1,pan_2;//两个面板

doublen_1=0,n_2=0;//记录输入的数值

charc='1';//记录输入的符号

staticintn=0;//记录数入的符号的数目

staticStrings_1="",s_3="";

staticStrings_2="";//记录输入符号前输入的字符串

cacalator(){

super("计算器");//调用父类的构造函数

setSize(300,300);//设置大小

setLayout(newBorderLayout(10,10));//布局

but=newButton[button_name.length];//实例化创建按钮数组

text_1=newTextField("0");//实例化并出示话为0

pan_1=newPanel();//实例化

pan_2=newPanel();//实例化

pan_1.setLayout(newGridLayout(1,1));//设置面板1为2行1列

pan_1.add(text_1);//将文本框添加到面板1中

add(pan_1,BorderLayout.NORTH);//将面板1放到窗体的上部

pan_2.setLayout(newGridLayout(4,4));//设置面板2为4行4列

for(inti=0;i

{

but[i]=newButton(button_name[i]);//写入按钮上的字

pan_2.add(but[i]);//按钮添加到面板2上

but[i].addActionListener(this);//加上监听

}

add(pan_2,BorderLayout.CENTER);//将面板2放到窗体的中间

addWindowListener(this);//窗体加上监听

setVisible(true);//设置可见

}

publicvoidactionPerformed(ActionEventarg0){

Strings_0,s_1;//定义字符创用以存储读出的东西

s_0=arg0.getActionCommand();//读到单击按钮时按钮上的字符串相当于记录命令

s_1=text_1.getText();//读出文本框1的内容

if(s_0.equals("1")||s_0.equals("2")||s_0.equals("3")||s_0.equals("4")||s_0.equals("5")||s_0.equals("6")||s_0.equals("7")||s_0.equals("8")||s_0.equals("9")||s_0.equals("0")){

if(n%2==0){

s_2=s_2+s_0;

text_1.setText(s_2);//如果这个时候没有输入运算符则直接将单击的东西连接在s_2上并显示在s_2上

n_1=(Float.valueOf(s_2)).floatValue();//在没有输入运算符的时候将数值记录在n_1上

}

if(n%2==1){

s_3=s_3+s_0;

text_1.setText(s_3);//如果这个时候输入了运算符则直接将单击的东西连接在s_2上并显示在s_2上

n_2=(Float.valueOf(s_3)).floatValue();//在输入了运算符的时候将数值记录在n_2上

}

}

if(s_0.equals("+")){

n=n+1;

c='+';

//text_1.setText("");

}

if(s_0.equals("-")){

n=n+1;

c='-';

//text_1.setText("");

}

if(s_0.equals("*")){

n=n+1;

c='*';

//text_1.setText("");

}

if(s_0.equals("/")){

n=n+1;

c='/';

//text_1.setText("");

}

if(s_0.equals("=")){

n=n+1;

s_3="";

if(c=='+'){

n_1=n_1+n_2;

s_1=Double.toString(n_1);

}

if(c=='-'){

n_1=n_1-n_2;

s_1=Double.toString(n_1);

}

if(c=='*'){

n_1=n_1*n_2;

s_1=Double.toString(n_1);

}

if(c=='/'){

n_1=n_1/n_2;

s_1=Double.toString(n_1);

}

text_1.setText(s_1);

}

if(s_0.equals("清除")){

c='1';

n_1=0;

n_2=0;

s_1="";

s_2="";

text_1.setText("");

}

}

publicvoidwindowActivated(WindowEventarg0){

//TODOAuto-generatedmethodstub

}

publicvoidwindowClosed(WindowEventarg0){

}

publicvoidwindowClosing(WindowEventarg0){

Windoww=(Window)arg0.getSource();

setVisible(false);

w.dispose();

}

publicvoidwindowDeactivated(WindowEventarg0){

//TODOAuto-generatedmethodstub

}

publicvoidwindowDeiconified(WindowEventarg0){

//TODOAuto-generatedmethodstub

}

publicvoidwindowIconified(WindowEventarg0){

//TODOAuto-generatedmethodstub

}

publicvoidwindowOpened(WindowEventarg0){

//TODOAuto-generatedmethodstub

}

}

//这是主函数部分

packagepkg_1;

importjavax.swing.JOptionPane;

publicclasscacalator_1{

publicstaticvoidmain(String[]args){

cacalatorcac_1=newcacalator();

}

}

importjava.awt.*;

importjavax.swing.*;

importjavax.swing.event.*;

importjava.awt.event.*;

classCalculatorextendsJFrameimplementsActionListener{

JPanelpanel,panel1,panel2,panel3;

JLabellabelSpace;

JButtonbuttonCe;

JButtonbutton[];

JButtonbuttonDot,buttonAdd,buttonSub,buttonMul,buttonDiv;

JButtonbuttonEqual;

JTextFieldtextAnswer;

booleanclickable;

doublevard,answerd;

shortkey=0;

inttimes=0;

publicCalculator(){

super("计算器");

clickable=true;

answerd=0;

textAnswer=newJTextField(20);

textAnswer.setText("");

textAnswer.setEditable(false);

panel=newJPanel();

Containerw1Container=this.getContentPane();

panel1=newJPanel();

panel2=newJPanel();

panel.setLayout(newBorderLayout());

panel.add(textAnswer,BorderLayout.CENTER);

panel.add(panel1,BorderLayout.SOUTH);

panel1.setLayout(newBorderLayout());

labelSpace=newJLabel("");

buttonCe=newJButton("Ce");

buttonCe.addActionListener(this);

panel1.add(panel2,BorderLayout.NORTH);

panel2.setLayout(newFlowLayout(FlowLayout.RIGHT));

panel2.add(buttonCe);

panel3=newJPanel();

panel1.add(panel3,BorderLayout.CENTER);

button=newJButton[10];

for(inti=0;i

button[i]=newJButton(Integer.toString(i));

}

buttonDot=newJButton(".");

buttonAdd=newJButton("+");

buttonSub=newJButton("-");

buttonMul=newJButton("*");

buttonDiv=newJButton("/");

buttonEqual=newJButton("=");

panel3.setLayout(newGridLayout(4,4));

panel3.add(button[7]);

button[7].addActionListener(this);

panel3.add(button[8]);

button[8].addActionListener(this);

panel3.add(button[9]);

button[9].addActionListener(this);

panel3.add(buttonMul);

buttonMul.addActionListener(this);

panel3.add(button[4]);

button[4].addActionListener(this);

panel3.add(button[5]);

button[5].addActionListener(this);

panel3.add(button[6]);

button[6].addActionListener(this);

panel3.add(buttonSub);

buttonSub.addActionListener(this);

panel3.add(button[1]);

button[1].addActionListener(this);

panel3.add(button[2]);

button[2].addActionListener(this);

panel3.add(button[3]);

button[3].addActionListener(this);

panel3.add(buttonDiv);

buttonDiv.addActionListener(this);

panel3.add(button[0]);

button[0].addActionListener(this);

panel3.add(buttonDot);

buttonDot.addActionListener(this);

panel3.add(buttonAdd);

buttonAdd.addActionListener(this);

panel3.add(buttonEqual);

buttonEqual.addActionListener(this);

w1Container.add(panel);

this.setSize(300,205);

this.setVisible(true);

}

publicvoidactionPerformed(ActionEventevent){

Objecttemp=event.getSource();

try{

for(inti=0;i<=9;i++)

if(temp==button[i]&&clickable==true){

textAnswer.setText(textAnswer.getText()+Integer.toString(i));

}

if(temp==buttonDot&&clickable==true){

booleanisDot=false;

if(textAnswer.getText().length()==0)

isDot=true;

for(inti=0;i

if('.'==textAnswer.getText().charAt(i)){

isDot=true;

break;

}

}

if(isDot==false)

textAnswer.setText(textAnswer.getText()+".");

}

if((temp==buttonAdd||temp==buttonSub||temp==buttonMul||temp==buttonDiv)&&clickable==true){

if(temp==buttonAdd){

if(times==0){

answerd+=Double.parseDouble(textAnswer.getText());

times++;

}

textAnswer.setText("");

key=1;

}

if(temp==buttonSub){

if(times==0){

answerd+=Double.parseDouble(textAnswer.getText());

times++;

}

textAnswer.setText("");

key=2;

}

if(temp==buttonMul){

if(times==0){

answerd+=Double.parseDouble(textAnswer.getText());

times++;

}

textAnswer.setText("");

key=3;

}

if(temp==buttonDiv){

if(times==0){

answerd+=Double.parseDouble(textAnswer.getText());

times++;

}

textAnswer.setText("");

key=4;

}

}

if(temp==buttonEqual&&clickable==true){

if(times>0){

vard=Double.parseDouble(textAnswer.getText());

}

if(key==1){

answerd+=vard;

textAnswer.setText(Double.toString(answerd));

}

if(key==2){

answerd-=vard;

textAnswer.setText(Double.toString(answerd));

}

if(key==3){

answerd*=vard;

textAnswer.setText(Double.toString(answerd));

}

if(key==4){

if(vard==0){

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

clickable=false;

}

else{

answerd/=vard;

textAnswer.setText(Double.toString(answerd));

}

}

}

if(temp==buttonCe){

vard=answerd=times=0;

textAnswer.setText("");

clickable=true;

}

}

catch(Exceptione){

textAnswer.setText("非法操作");

clickable=false;

}

}

publicstaticvoidmain(Stringargs[]){

Calculatorcalculator=newCalculator();

}

}

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

当前位置:首页 > 医药卫生 > 预防医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1