Java简单计算器实验报告Word下载.docx
《Java简单计算器实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《Java简单计算器实验报告Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
\0'
secondsymbol='
;
booleanprev=true,repeat=true,dot=true;
MyComputer(){//定义显示样式
super("
Calculator"
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}catch(Exceptione){
System.out.print(e);
}
JPanelresultField=newJPanel();
//放置结果、清除键、保存标识的区域,上半部分
JPanelbuttonField=newJPanel();
//放置按键,下半部分
Containerall=getContentPane();
//组合上述两部分
GridLayoutgrid1=newGridLayout(4,6,3,3);
//按键
memoryArea.setEditable(false);
clear.addActionListener(this);
dispresult.setEditable(false);
resultField.add(memoryArea);
resultField.add(clear);
resultField.add(dispresult);
all.setLayout(newFlowLayout());
all.add(resultField);
Stringbuttonname[]={"
sin"
"
MC"
0"
1"
2"
+"
cos"
MR"
3"
4"
5"
-"
tan"
MS"
6"
7"
8"
x"
+/-"
M+"
"
9"
."
="
/"
};
buttonField.setLayout(grid1);
for(inti=0;
i<
6;
i++){
for(intj=0;
j<
4;
j++){
jbuttons[i*4+j]=newJButton(buttonname[i*4+j]);
jbuttons[i*4+j].addActionListener(this);
//为按键注册监听器
buttonField.add(jbuttons[i*4+j]);
}
all.add(buttonField);
setSize(400,210);
setResizable(true);
setVisible(true);
publicvoidpressNumber(Stringn){
if(prev){
dispresult.setText(n);
prev=false;
elsedispresult.append(n);
publicbooleandivide(doubled){
if(d==0){
dispresult.setText("
除数不能为0!
prev=true;
repeat=true;
firstsymbol='
secondsymbol='
returntrue;
returnfalse;
publicvoidactionPerformed(ActionEvente){
Objectsource=e.getSource();
//判断事件源,进行相应处理
if(source==clear){
0."
dot=true;
return;
if(source==jbuttons[0]){
doubletemp=Math.sin(Double.parseDouble(dispresult.getText()));
dispresult.setText(String.valueOf(temp));
repeat=false;
if(source==jbuttons[1]){
memery=0;
memoryArea.setText("
"
if(source==jbuttons[2]){
pressNumber("
if(source==jbuttons[3]){
if(source==jbuttons[4]){
if(source==jbuttons[6]){
doubletemp=Math.cos(Double.parseDouble(dispresult.getText()));
if(source==jbuttons[7]){
if(memoryArea.getText().equals("
M"
))
dispresult.setText(String.valueOf(memery));
prev=true;
repeat=false;
dot=true;
if(source==jbuttons[8]){
if(source==jbuttons[9]){
if(source==jbuttons[10]){
if(source==jbuttons[12]){
doubletemp=Math.tan(Double.parseDouble(dispresult.getText()));
if(source==jbuttons[13]){
memery=Double.parseDouble(dispresult.getText());
if(memery!
=0)memoryArea.setText("
if(source==jbuttons[14]){
if(source==jbuttons[15]){
if(source==jbuttons[16]){
if(source==jbuttons[18]){
doubletemp=-Double.parseDouble(dispresult.getText());
if(source==jbuttons[19]){
memery+=Double.parseDouble(dispresult.getText());
if(source==jbuttons[20]){
if(source==jbuttons[21]){
if(dot){
pressNumber("
dot=false;
repeat=false;
}
if(source==jbuttons[22]){
second=Double.parseDouble(dispresult.getText());
switch(secondsymbol){
case'
*'
:
second*=first;
break;
/'
if(divide(second))return;
second=first/second;
}//endofswitch(secondsymbol)
secondsymbol='
switch(firstsymbol){
case'
+'
result+=second;
-'
result-=second;
result*=second;
dispresult.setText(String.valueOf(result));
result/=second;
}//endofswitch(firstsymbol)
if(firstsymbol!
='
)dispresult.setText(String.valueOf(result));
firstsymbol='
if(source==jbuttons[5]){
if(repeat){
firstsymbol='
return;
second=Double.parseDouble(dispresult.getText());
second*=first;
if(divide(second))return;
second=first/second;
result=second;
firstsymbol='
result+=second;
firstsymbol='
repeat=true;
if(source==jbuttons[11]){
result+=second;
if(source==jbuttons[17]){
if(secondsymbol=='
)firstsymbol='
elsesecondsymbol='
switch(firstsymbol){
case'
firstsymbol='
result=second;
break;
first=second;
secondsymbol='
result*=second;
dispresult.setText(String.valueOf(result));
if(divide(second))return;
result/=second;
}
first*=second;
dispresult.setText(String.valueOf(first));
first/=second;
secondsymbol='
if(source==jbuttons[23]){
}//end
break;
case'
if(divide(second))return;
result/=second;
dispresult.setText(String.valueOf(first));
}//end
prev=true;
repeat=true;
return;
publicstaticvoidmain(String[]args){
My