java课程设计科学计算器Word格式文档下载.docx
- 文档编号:19930629
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:15
- 大小:229.13KB
java课程设计科学计算器Word格式文档下载.docx
《java课程设计科学计算器Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《java课程设计科学计算器Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
加、减、乘、除基本算术运算(可以进行浮点和负数运算)和sin、cos、tan等三角函数求值运算,同时能进行指数运算和自然对数运算,还有求倒数、退格和清零功能。
3设计思路
⑴、本应用程序继承自框架类(JFrame),容器Containerc采用BorderLayout边缘布局,将单行文本框加入到“North”区域,包含各种按钮的面板JPanelp加入到”Center”区域。
包含各种按钮的面板JPanelp采用3行6列的网格布局,然后将数字按钮和运算符按钮以及控制按钮用一个for循环添加到面板中同时注册按钮事件监听器。
如:
Buttonb=newButton();
(事件监听器);
⑵、事件监听器中的事件处理方法voidactionPerformed(ActionEventevt)完成主要的按钮事件的处理。
事件处理分以下几种情况:
数字按钮事件(”0”,”1”,”2”…”8”,”9”)、运算符按钮事件(”+”,”-“,”*”,”/”,”%”)、正负号按钮事件(”+/-“)、小数点按钮事件(”.”)、等号按钮事件(”=”)、求倒按钮事件(”求倒”)、退格按钮事件(”退格”)、清除按钮事件(“C”)、正切(tan)、余弦(cos),以及求平方根(sqrt)、指数(pow)、对e的指数(exp)、对数运算(log)。
⑶、在事件处理,触发按钮事件时,先判断是或是数字是或是“-/+”是或是“.”,是的话就将负号“-”、数字、小数点“.”分别写入文本框并存放在sum中,然后判断是或是“退格”、“求倒”等,是的话进行相应的处理,都不是的话则跳到doOperation()执行运算同时将运算符存放在preOperater中。
触发按钮事件时,要进一步分析,是重新开始计算时触发的按钮事件还是计算中间触发的按钮事件。
⑷、计算器完成的是一个数学表达式,如:
3+2,所以可以采用一个数组来存储数字或字符,如3,+,2分别存储在数组中,最后运算时,可以一一取出来进行运算。
⑸、利用按钮设计计算器的各个运算符和操作符,通过按钮的事件处理实现按钮计算功能。
⑹、利用文本框显示操作数和运算结果。
4详细设计
功能实现:
①加减乘除求余以及指数运算
②其他运算
Ⅰ、求平方根
Ⅱ、对数运算
Ⅲ、余弦运算
Ⅳ、正切运算
Ⅴ、e的指数运算
Ⅵ、倒数运算
③主要方法说明
[1]publiccos(doublex)
北京邮件大学出版社,
[2]丁振凡《Java语言使用教程实验指导》.北京邮件大学出版社,
[3]BruceEckel《Java编程思想》.机械工业出版社
[4]耿祥义《JAVA2实用教程》.清华大学出版社
附录
程序代码如下:
Appalication如下:
import.*;
import
importclassCalculatorimplementsActionListener
{
#####"
);
dd(panel);
panel1=newJPanel();
panel2=newJPanel();
(newBorderLayout());
etForeground(newColor(22,22,255));
}
Dot=newJButton("
."
(newColor(0,0,255));
AddAndSub=newJButton("
+/-"
Add=newJButton("
+"
Sub=newJButton("
-"
Mul=newJButton("
*"
Div=newJButton("
/"
Mod=newJButton("
%"
Sqrt=newJButton("
sqrt"
Dao=newJButton("
1/x"
Equal=newJButton("
="
jiecheng=newJButton("
n!
"
zhengxian=newJButton("
sin"
yuxian=newJButton("
cos"
duishu=newJButton("
log"
ddActionListener(this);
(button[8]);
button[8].addActionListener(this);
(button[9]);
button[9].addActionListener(this);
(Div);
(this);
(Sqrt);
(zhengxian);
(button[4]);
button[4].addActionListener(this);
(button[5]);
button[5].addActionListener(this);
(button[6]);
button[6].addActionListener(this);
(Mul);
(Mod);
(yuxian);
(button[1]);
button[1].addActionListener(this);
(button[2]);
button[2].addActionListener(this);
(button[3]);
button[3].addActionListener(this);
(Sub);
(Dao);
(jiecheng);
(button[0]);
button[0].addActionListener(this);
(AddAndSub);
(Dot);
(Add);
(Equal);
(duishu);
;
();
();
ultiply(newBigInteger()));
}
returnret;
publicvoidactionPerformed(ActionEventevent)
{
booleansign=false;
按钮时,判断当前文本框内字符串中含不含'
.'
,如果已含,则不允许再插入'
if(temp==Dot&
&
clickable==true){
booleanisDot=false;
if().length()==0)
isDot=true;
for(inti=0;
i<
().length();
i++)
if('
==().charAt(i)){
break;
if(isDot==false)
()+"
if((temp==Add||temp==Sub||temp==Mul||
temp==Div)&
ength();
harAt(0)=='
0'
&
().length()==1){
("
零不能求倒数"
clickable=false;
else{
booleanisDec=true;
inti,j,k;
Strings=(1/()));
for(i=0;
if(i)=='
)
for(j=i+1;
j<
j++)
if(j)!
='
){
isDec=false;
if(isDec==true){
Stringstemp="
;
for(k=0;
k<
i;
k++)
stemp+=(k);
(stemp);
else
(s);
||
(i)=='
-'
)){
isNumber=false;
if(isNumber==true){
//如果当前字符串首字母有'
号,代表现在是个负数,再按下时,则将首符号去掉
if(0)=='
for(inti=1;
i++){
chara=(i);
()+a);
//如果当前字符串第一个字符不是符号,则添加一个符号在首字母处
('
+s);
//按下'
Backspace'
键,利用循环将当前字符串中的最后一个字母删除
if(temp==buttonBk&
Strings=();
()-1;
CE'
按钮,将当前文本框内数据清除
if(temp==buttonCe){
clickable=true;
C'
按钮,文本框内数据清除,同时vard,result清0
if(temp==buttonC){
vard=result=0;
复制'
菜单栏
if(temp==copyItem){
copy=();
粘贴'
if(temp==pasteItem){
(copy);
if(temp==sItem){
(panel,"
\n精简型科学计算器\n"
//输入中如果有操作非法,比如按下两次'
*'
,捕获异常
catch(Exceptione){
操作非法"
publicstaticvoidmain(Stringargs[])
newCalculator();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 课程设计 科学 计算器