public void num(int i){ 
String s = null; 
s=String.valueOf(i); 
if(end){ 
//如果数字输入结束,则将文本框置零,重新输入 
resultField.setText("0"); 
end=false; } 
if((resultField.getText()).equals("0")){ 
//如果文本框的内容为零,则覆盖文本框的内容 
resultField.setText(s); } 
else{ 
//如果文本框的内容不为零,则在内容后面添加数字 
str = resultField.getText() + s; 
resultField.setText(str); } 
} public void actionPerformed(ActionEvent e){ //数字事件 
if(e.getSource()==s1) 
num(1); 
else if(e.getSource()==s2) 
num(2); 
else if(e.getSource()==s3) 
num(3); 
else if(e.getSource()==s4) 
num(4); 
else if(e.getSource()==s5) 
num(5); 
else if(e.getSource()==s6) 
num(6); 
else if(e.getSource()==s7) 
num(7); 
else if(e.getSource()==s8) 
num(8); 
else if(e.getSource()==s9) 
num(9); 
else if(e.getSource()==s0) 
num(0); //符号事件 
else if(e.getSource()==b1) 
sign(1); 
else if(e.getSource()==b2) 
sign(2); 
else if(e.getSource()==b3) 
sign(3); 
else if(e.getSource()==b4) 
sign(4); 
//等号 
else if(e.getSource()==f1){ 
str=resultField.getText(); 
if(str.indexOf(".")<=1){                看不明白这index是什么意思小于等于1是什么意思 谢谢 
str+="."; 
resultField.setText(str); 


else if(e.getSource()==f2){ 
num2=Double.parseDouble(resultField.getText()); 
if(add){ 
num1=num1 + num2;} 
else if(sub){ 
num1=num1 - num2;} 
else if(mul){ 
num1=num1 * num2;} 
else if(div){ 
num1=num1 / num2;} 
resultField.setText(String.valueOf(num1)); 
end=true; 
} } 
public void sign(int s){ 
if(s==1){ 
add=true; 
sub=false; 
mul=false; 
div=false; 

else if(s==2){ 
add=false; 
sub=true; 
mul=false; 
div=false; 

else if(s==3){ 
add=false; 
sub=false; 
mul=true; 
div=false; 

else if(s==4){ 
add=false; 
sub=false; 
mul=false; 
div=true; 

num1=Double.parseDouble(resultField.getText()); 
end=true; 
}
 这个是判断小数点有没有吗 还有这里有一个缺陷 小数点可以无限按 应该怎么控制呢 谢谢