Java课程设计简易计算器修Word下载.docx

上传人:b****6 文档编号:19531779 上传时间:2023-01-07 格式:DOCX 页数:18 大小:36.21KB
下载 相关 举报
Java课程设计简易计算器修Word下载.docx_第1页
第1页 / 共18页
Java课程设计简易计算器修Word下载.docx_第2页
第2页 / 共18页
Java课程设计简易计算器修Word下载.docx_第3页
第3页 / 共18页
Java课程设计简易计算器修Word下载.docx_第4页
第4页 / 共18页
Java课程设计简易计算器修Word下载.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

Java课程设计简易计算器修Word下载.docx

《Java课程设计简易计算器修Word下载.docx》由会员分享,可在线阅读,更多相关《Java课程设计简易计算器修Word下载.docx(18页珍藏版)》请在冰豆网上搜索。

Java课程设计简易计算器修Word下载.docx

程序主窗体继承JFrame类,使用24个JBotton按钮实现数字和基本功能,并且分别注册监听,采用6行4列网格布局,完成计算器界面的基本设置,最后对按钮进行计算分析,计算并显示结果。

这段代码主要是对程序的主框架进行相应的设置

super("

简易计算器"

);

setSize(300,260);

this.setLayout(newBorderLayout());

jPanel1=newJPanel();

jPanel1.setLayout(newGridLayout(1,1));

//一行一列的布局

jPanel2=newJPanel();

jPanel2.setLayout(newGridLayout(6,4));

//六行四列的布局

resultField=newJTextField("

0"

jPanel1.add(resultField);

this.add(jPanel1,BorderLayout.NORTH);

this.add(jPanel2,BorderLayout.CENTER);

设置数字按钮1到9并添加监控以及符号等的添加监控

s1=newJButton("

1"

s1.addActionListener(this);

s2=newJButton("

2"

s2.addActionListener(this);

s3=newJButton("

3"

s3.addActionListener(this);

s4=newJButton("

4"

s4.addActionListener(this);

s5=newJButton("

5"

s5.addActionListener(this);

s6=newJButton("

6"

s6.addActionListener(this);

s7=newJButton("

7"

s7.addActionListener(this);

s8=newJButton("

8"

s8.addActionListener(this);

s9=newJButton("

9"

s9.addActionListener(this);

s0=newJButton("

0"

s0.addActionListener(this);

b1=newJButton("

+"

b1.addActionListener(this);

b2=newJButton("

-"

b2.addActionListener(this);

b3=newJButton("

*"

b3.addActionListener(this);

b4=newJButton("

/"

b4.addActionListener(this);

b5=newJButton("

^"

b5.addActionListener(this);

b6=newJButton("

开方"

b6.addActionListener(this);

b7=newJButton("

%"

b7.addActionListener(this);

b8=newJButton("

x!

"

b8.addActionListener(this);

b9=newJButton("

1/x"

b9.addActionListener(this);

f1=newJButton("

."

f1.addActionListener(this);

f2=newJButton("

="

f2.addActionListener(this);

f3=newJButton("

C"

f3.addActionListener(this);

f4=newJButton("

负"

f4.addActionListener(this);

f5=newJButton("

退格"

f5.addActionListener(this);

jPanel2.add(f3);

jPanel2.add(b4);

jPanel2.add(b3);

jPanel2.add(f5);

jPanel2.add(s7);

jPanel2.add(s8);

jPanel2.add(s9);

jPanel2.add(b1);

jPanel2.add(s4);

jPanel2.add(s5);

jPanel2.add(s6);

jPanel2.add(b2);

jPanel2.add(s1);

jPanel2.add(s2);

jPanel2.add(s3);

jPanel2.add(b5);

jPanel2.add(s0);

jPanel2.add(f1);

jPanel2.add(f4);

jPanel2.add(b6);

jPanel2.add(b7);

jPanel2.add(b8);

jPanel2.add(b9);

jPanel2.add(f2);

(3)数据输入用方法num(inti)设计如下:

publicvoidnum(inti){

Strings=null;

s=String.valueOf(i);

//返回整数i的字符串表示形式

if(end){//如果数字输入结束,则将文本框置零,重新输入

resultField.setText("

end=false;

}

if((resultField.getText()).equals("

)){

//如果文本框的内容为零,则覆盖文本框的内容

resultField.setText(s);

else{//如果文本框的内容不为零,则在内容后面添加数字

str=resultField.getText()+s;

resultField.setText(str);

}

以及用JFrame的方法actionPerformed(ActionEvente)来获取数据

(4)符号运算及清零、退格的设计如下:

if(add){//加法

num1=num1+num2;

}

elseif(sub){//减法

num1=num1-num2;

elseif(mul){//乘法

num1=num1*num2;

}

elseif(div){//除法

if(num2==0)thrownewArithmeticException("

除数不能为零"

else

num1=num1/num2;

elseif(chf){//乘方

if(num2==0)num1=1;

num1=Math.pow(num1,num2);

}

elseif(evo){//开方

if(num2<

0)thrownewArithmeticException("

被开方数不能小于零"

elsenum1=Math.sqrt(num2);

}

elseif(rec){//倒数

分母不能小于零"

elsenum1=1/num2;

elseif(per){//百分

num1=num1/100.0;

elseif(pur){//阶乘

负数不能求阶乘"

elsefor(inti=1;

i<

num2;

i++){

num1=i*num1;

resultField.setText(String.valueOf(num1));

end=true;

elseif(e.getSource()==f3){//实现清零

elseif(e.getSource()==f4){//实现负号

if(resultField.getText()!

="

){

-"

+resultField.getText());

elseif(e.getSource()==f5){//实现退格

inti;

i=(resultField.getText()).length();

if(i==1){

resultField.setText("

else{str=resultField.getText();

resultField.setText(str.substring(0,i-1));

五、程序设计

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

publicclasstest1extendsJFrameimplementsActionListener{

//JFramejframe1;

JPaneljPanel1,jPanel2;

JTextFieldresultField;

JButton

s1,s2,s3,s4,s5,s6,s7,s8,s9,s0,b1,b2,b3,b4,b5,b6,b7,b8,b9,f1,f2,f3,f4,f5;

privatebooleanend,add,sub,mul,div,evo,chf,per,rec,pur;

privateStringstr;

privatedoublenum1,num2;

publictest1(){

super("

//四行五列的布局

}

publicvoidnum(inti){

if(end){//如果数字输入结束,则将文本框置零,重新输入

else{//如果文本框的内容不为零,则在内容后面添加数字

publicvoidactionPerformed(ActionEvente)throwsArithmeticException{

//数字事件

if(e.getSource()==s1)

num

(1);

elseif(e.getSource()==s2)

num

(2);

elseif(e.getSource()==s3)

num(3);

elseif(e.getSource()==s4)

num(4);

elseif(e.getSource()==s5)

num(5);

elseif(e.getSource()==s6)

num(6);

elseif(e.getSource()==s7)

num(7);

elseif(e.getSource()==s8)

num(8);

elseif(e.getSource()==s9)

num(9);

elseif(e.getSource()==s0)

num(0);

//符号事件

elseif(e.getSource()==b1)

sign

(1);

elseif(e.getSource()==b2)

sign

(2);

elseif(e.getSource()==b3)

sign(3);

elseif(e.getSource()==b4)

sign(4);

elseif(e.getSource()==b5)

sign(5);

elseif(e.getSource()==b6)

sign(6);

elseif(e.getSource()==b7)

sign(7);

elseif(e.getSource()==b8)

sign(8);

elseif(e.getSource()==b9)

sign(9);

elseif(e.getSource()==f1){//实现"

."

str=resultField.getText();

if(str.indexOf("

)<

=1){

str+="

;

resultField.setText(str);

elseif(e.getSource()==f2){//实现"

num2=Double.parseDouble(resultField.getText());

num1=num1+num2;

elseif(sub){//减法

num1=num1-num2;

resultField.setText(str.

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

当前位置:首页 > 表格模板 > 合同协议

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

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