没有合适的资源?快使用搜索试试~ 我知道了~
首页利用java编写计算器程序过程(带代码)
资源详情
资源评论
资源推荐

一、课程题目
编写一个计算器程序,只有加减乘除功能,当做 Applet 运行。
二、题目分析与设计
1. 题目的需求。
第一、 这个计算器是本人首次编写的计算器程序,功能强大,能
胜任较多的计算任务。
第二、 这是在 java 平台上开发的,利用许多包实现多功能化,界
面化,还附加了音乐,使使用者能听着美妙的旋律,轻轻松松
的计算数据。
第三、 完成了这个程序的过程中,查了很多资料,学了很多知识
不仅能用在 java 上,还能用在 c++上,而且对类有了较为深刻
的理解。
第四、 锻炼了编程能力,在一次次完成作业后,自己的编程能力
提高了很多,为以后的作业和任务建立了扎实基础。
2. 界面设计过程、设计上的创意及组件的布局策略。
整体上以长宽分别为 800,620 像素大小建立主窗口;
在左上角建立一个 music 按键用于开关音乐播放;
建立两个文本框放在中上的位置,设置为不可编辑,且字号为 25,
隶书,方便老人或弱视力的人使用;
建立 checkbox 群来换选度与弧度;
利用三个 panel 来布置单目运算区,数字键区,二目运算区,而且把
1

常用的放在习惯的左边区域,且靠近数字键,方便操作;
功能有复位,加减乘除,三角函数,反三角函数等数学常用计算。
3. 程序逻辑的实现,包括类的设计、对象的协作过程。
4. 开发环境:eclipse-SDK-3.7.1
关键代码:主要是用于监听按键,并启动相应的函数计算
public void actionPerformed(ActionEvent e)
{
// TODO Auto-generated method stub
Button btn=(Button) e.getSource();
/////关闭打开音乐
if(btn==musicbutton)
{
if(musiccontrol==0)
{
audio1.stop();
musiccontrol=1;
return ;
}
else
{
musiccontrol=0;
audio1.loop();///反复播放音乐
2

return ;
}
}
//1~9的输入
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
if(Numbutton[i][j]==btn)
{
String str=new String();
if( txf1.getText().length()!=0)
str=txf1.getText();
str=str+((i)*3+j+1);
txf1.setText(str);
return;
}
}
}
///0的输入
if(additionbutton[0][0]==btn)
{
String str=new String();
if( txf1.getText().length()!=0)
str=txf1.getText();
str=str+(0);
txf1.setText(str);
return;
}
////右边功能键的响应设置
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
if(operationbutton[i][j]==btn)
{
String str=new String();
if( txf1.getText().length()!=0)
str=txf1.getText();
///用于退位
3

if(i==0&&j==0&&txf1.getText().length()!=0)
{
char temp[]=new char[ txf1.getText().length()];
temp=str.toCharArray();
if(txf1.getText().length()-1!=0)
str=str. copyValueOf (temp,0, txf1 .getText().length()-1) ;
else
str="";
}
else
if(i==0&&j==1)
{
////清空,复位
str="";
txf2.setText(str);
}
else
if(i==0&&j==2)
{
///开方
str="sqrt";
if(txf1.getText().length()!=0)
{
num1 =
Float.parseFloat(txf1.getText().trim());
}
str="";
str="="+Math.sqrt(num1);
txf2.setText(str);
str=""+Math.sqrt(num1);
}
else if(i==1&&j==0)
{
Operatorrecord=1;
if(txf1.getText().length()!=0)
{
num1 =
Float.parseFloat(txf1.getText().trim());
}
4

str=str+"+";
txf2.setText(str);
str="";
}
else if(i==1&&j==1)
{
Operatorrecord=2;
if(txf1.getText().length()!=0)
{
num1 =
Float.parseFloat(txf1.getText().trim());
}
str=str+"-";
txf2.setText(str);
str="";
}
else if(i==1&&j==2)
{
//str=str+"%";
//Operatorrecord=6;
str="1/x";
if(txf1.getText().length()!=0)
{
num1 =
Float.parseFloat(txf1.getText().trim());
}
str="";
str=""+num1*100+'%';
txf2.setText("="+str);
}
else if(i==2&&j==0)
{
Operatorrecord=3;
if(txf1.getText().length()!=0)
{
num1 =
Float.parseFloat(txf1.getText().trim());
}
str=str+"*";
txf2.setText(str);
5
剩余40页未读,继续阅读
















安全验证
文档复制为VIP权益,开通VIP直接复制

评论1