//求出e=1+1/1!+1/2!+1/3!+……+1/n!+……的近似值,要求误差小于0.0001
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class AT1_1 extends Applet implements ActionListener
{
TextField text1;
Button Button1;
public void init()
{
text1 = new TextField("0",10);
Button1 = new Button("清除");
add(text1);
add(Button1);
text1.addActionListener(this);
Button1.addActionListener(this);
}
public void start(){}
public void stop(){}
public void destory(){}
public void paint(Graphics g)
{
g.drawString("在文本区输入数字n后回车",10,100);
g.drawString("文本区显示1+1/1!+1/2!+1/3!+……+1/n!+……的近似值",10,120);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==text1)
{
double sum=1,a=1;
int i=1;
int n=0;
try
{
n = Integer.valueOf(text1.getText()).intValue();
while(i<=n)
{
a = a*(1.0/i);
sum = sum + a;
i=i+1;
}
sum=sum*10000;
sum=Math.round(sum);
sum=sum/10000;
text1.setText(""+sum);
}
catch(NumberFormatException Event)
{
text1.setText("请输入数字字符");
}
}
else if(e.getSource()==Button1)
{
text1.setText("0");
}
}
}