Java课程设计简易计算器修Word下载.docx
- 文档编号:19531779
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:18
- 大小:36.21KB
Java课程设计简易计算器修Word下载.docx
《Java课程设计简易计算器修Word下载.docx》由会员分享,可在线阅读,更多相关《Java课程设计简易计算器修Word下载.docx(18页珍藏版)》请在冰豆网上搜索。
程序主窗体继承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.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 课程设计 简易 计算器
![提示](https://static.bdocx.com/images/bang_tan.gif)