Java计算器.docx

上传人:b****7 文档编号:9431268 上传时间:2023-02-04 格式:DOCX 页数:11 大小:90.94KB
下载 相关 举报
Java计算器.docx_第1页
第1页 / 共11页
Java计算器.docx_第2页
第2页 / 共11页
Java计算器.docx_第3页
第3页 / 共11页
Java计算器.docx_第4页
第4页 / 共11页
Java计算器.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

Java计算器.docx

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

Java计算器.docx

Java计算器

 

实验报告

 

题目:

Java程序设计实验

 

学院计算机科学与技术

专业xxxxxxxxxxxxxxxx

学号xxxxxxxxxxx

姓名xxxxxx

指导教师x

20xx年xx月xx日

摘要

通过设计简单计算器,掌握java程序图形界面设计的基本方法。

要求实现简单计算器的加减乘除功能

关键词:

swing;panel

 

目录

1需求分析…………………………………………………………………1

2整体设计…………………………………………………………………2

3详细设计…………………………………………………………………3

3.1界面设计………………………………………………………………3

3.2详细设计………………………………………………………………3

4调试与测试………………………………………………………………4

参考文献……………………………………………………………………6

附录…………………………………………………………………………7

 

1需求分析

通过设计简单计算器,掌握java程序图形界面设计的基本方法。

要求实现简单计算器的加减乘除功能。

操作系统为Windows8.164bit,jdk版本号1.8update2564bit,开发软件为EclipseJavaEEIDE4.4.1。

 

2整体设计

采用

java的swing模块生成窗口及按钮,窗口包含可点击的数字键及操作符按钮,当点击按钮时屏幕显示相应的操作结果。

 

3详细设计

3.1界面设计

利用java.awt.Panel类生成两个panel,panel1分别放置数字键及操作按钮,panel2放置显示结果区域及重置计算器的按钮。

点击按钮时屏幕显示对应操作。

在panel1中,利用java.awt.Button类生成按钮并添加;在panel2中,利用java.awt.TextField生成显示结果的区域。

通过setPreferredSize方法设置窗体的大小

3.2程序设计

设置double型变量number用于存放当前操作数,String类operator用于标识当前操作符。

每当点击按钮时判断当前按钮功能,若为数字则向显示区域存入,若为操作符则将显示区域的字符串显示转换为操作数并设置操作符。

布尔型变量isFirstDigit用于辅助实现连续运算。

CE按钮用于重启计算器,点击后调用handleReset()将显示区域内容置0,并将操作符重新设置为“=”

 

4调试与测试

运行初始界面如图:

输入1/2,计算结果为:

顺序输入1+2*4,为:

C点击CE,计算器重置:

 

参考文献

Java程序设计基础实用教程(第3版)叶核亚电子工业出版社2011年5月

 

附录

package计算器;

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

publicclass计算器extendsJFrameimplementsActionListener{

privatestaticfinallongserialVersionUID=1L;

//关闭

privateclassWindowCloseextendsWindowAdapter{

publicvoidwindowClosing(WindowEventwe){

System.exit(0);

}

}

//数字和操作符

privatefinalString[]str={"7","8","9","/","4","5","6","*","1",

"2","3","-","0",".","=","+"};

//生成按钮

Button[]buttons=newButton[str.length];

//取消或重置

Buttonreset=newButton("CE");

//生成结果显示区域

TextFielddisplay=newTextField("0");

public计算器(){

super("计算器");

//添加面板

Panelpanel1=newPanel(newGridLayout(4,4));

//生成按钮

for(inti=0;i

buttons[i]=newButton(str[i]);

panel1.add(buttons[i]);

}

Panelpanel2=newPanel(newBorderLayout());

Dimensiondimp=newDimension(220,40);

panel2.setPreferredSize(dimp);

Fontfontp=newFont("微软雅黑",Font.TRUETYPE_FONT,11);

panel2.setFont(fontp);

panel2.add("Center",display);

panel2.add("East",reset);

getContentPane().setLayout(newBorderLayout());

getContentPane().add("North",panel2);

getContentPane().add("Center",panel1);

for(inti=0;i

buttons[i].addActionListener(this);

reset.addActionListener(this);

display.addActionListener(this);

addWindowListener(newWindowClose());

//设置窗口大小

Dimensiondim=newDimension(220,220);

setPreferredSize(dim);

//显示窗口

setVisible(true);

pack();

//是否可改变大小

//setResizable(false);

setLocationRelativeTo(null);

Fontfont=newFont("微软雅黑",Font.BOLD,11);

setFont(font);

repaint();

}

publicvoidactionPerformed(ActionEvente){

Objecttarget=e.getSource();

Stringlabel=e.getActionCommand();

if(target==reset)

handleReset();

elseif("0123456789.".indexOf(label)>0)

handleNumber(label);

else

handleOperator(label);

}

booleanisFirstDigit=true;

publicvoidhandleNumber(Stringkey){

if(isFirstDigit)

display.setText(key);

elseif((key.equals("."))&&(display.getText().indexOf(".")<0))

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

elseif(!

key.equals("."))

display.setText(display.getText()+key);

isFirstDigit=false;

}

//重置计算器

publicvoidhandleReset(){

display.setText("0");

isFirstDigit=true;

operator="=";

}

doublenumber=0.0;

Stringoperator="=";

publicvoidhandleOperator(Stringkey){

if(operator.equals("+"))

number+=Double.valueOf(display.getText());

elseif(operator.equals("-"))

number-=Double.valueOf(display.getText());

elseif(operator.equals("*"))

number*=Double.valueOf(display.getText());

elseif(operator.equals("/"))

number/=Double.valueOf(display.getText());

elseif(operator.equals("="))

number=Double.valueOf(display.getText());

display.setText(String.valueOf(number));

operator=key;

isFirstDigit=true;

}

publicstaticvoidmain(String[]args){

new计算器();

}

}

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

当前位置:首页 > 高中教育 > 高考

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

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