一、题目
编写一个计算器程序,只有加减乘除功能,当做Applet运行。
二、题目分析与设计
1. 题目的需求。
第一、这个计算器是本人首次编写的计算器程序,功能强大,能胜任较多的计算任务。
第二、这是在java平台上开发的,利用许多包实现多功能化,界面化,还附加了音乐,使使用者能听着美妙的旋律,轻轻松松的计算数据。
第三、完成了这个程序的过程中,查了很多资料,学了很多知识,不仅能用在java上,还能用在c++上,而且对类有了较为深刻的理解。
第四、锻炼了编程能力,在一次次完成作业后,自己的编程能力提高了很多,为以后的作业和任务建立了扎实基础。
2. 界面设计过程、设计上的创意及组件的布局策略。
j
整体上以长宽分别为800,620像素大小建立主窗口;
k
在左上角建立一个music按键用于开关音乐播放;
l
建立两个文本框放在中上的位置,设置为不可编辑,且字号为25,隶书,方便老人或弱视力的人使用;
m
建立checkbox群来换选度与弧度;
n
利用三个panel来布置单目运算区,数字键区,二目运算区,而且把常用的放在习惯的左边区域,且靠近数字键,方便操作;
o
功能有复位,加减乘除,三角函数,反三角函数等数学常用计算。
3. 程序逻辑的实现,包括类的设计、对象的协作过程。
4. 开发环境:eclipse-SDK-3.7.1
关键代码:主要是用于监听按键,并启动相应的函数计算
publicvoidactionPerformed(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();///反复播放音乐
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();
///用于退位
if(i==0&&j==0&&txf1.getText().length()!=0)
{
char temp[]=newchar[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);