版权声明:此文章为作者筱睿_原创文章,转载请附上博客链接 https://blog.csdn.net/qq_43756486/article/details/88360578
练习说明:
写一个applet,采用如下公式计算额
=1+
/1!+
/2!+…+
/n!
从键盘输入x和n;计算
的值
applet代码实现
package unit3;
import java.awt.*;
import java.applet.*;
public class calculate_ex extends Applet
{
public double fac(double q) //求阶乘的方法
{
if(q<1)
{
showStatus("阶乘错误");
}
if(q==1)
{
return 1;
}
else
{
return q*fac(q-1);
}
}
public double xx(double p,double r)//此方法用于求p的r次方,但r的范围限制在r>=1
{
if(r<1)
{
showStatus("幂错误");
}
if(r==1)
{
return p;
}
else
{
return p*xx(p,r-1);
}
}
private static final long serialVersionUID = 1L;
Label lab1,lab2; //画出两个标签
TextField input1,input2;//画出两个文本框
double x;
double n,sum=1,nap=0;
public void init() //标签和文本框分配空间
{
lab1=new Label("请输入x的值");
input1=new TextField(10);
lab2=new Label("请输入n的值");
input2=new TextField(10);
add(lab1); //把标签和文本框放到网页上
add(input1);
add(lab2);
add(input2);
}
public boolean action(Event e,Object o)//按下回车执行action方法
{
if(e.target==input1||e.target==input2)
{
x=Double.valueOf(input1.getText());//获取文本框中的数值
n=Integer.parseInt(input2.getText());
}
nap=xx(x,n)/fac(n);
while(n>=1)
{
sum=nap+sum;
n--;
}
showStatus("e^x结果为"+sum);
return true;
}
}
注:
此代码尚未考虑数据溢出的情况
本人学疏才浅,如有错误,敬请指正