请教简单的java程序

来源:百度知道 编辑:UC知道 时间:2024/05/13 19:30:18
public class jiecheng
{
public static void main(String args[])
{int i,j;
double t=1,x=0;
for(j=1;j<=20;j++)
{
for(i=1;i<=j;i++)
{
t=t*i;
}
x=x+t;
i=1;
t=1;
}
System.out.println("1到20的阶乘和是:"+x);
}
}

我是个新手,求1到20阶乘的和,这程序输出的数是2.56132741118203E18,怎么回事,请教各位了!!会追加分

用long 应该可以
这是java基础,不过我也不太会,呵呵。

因为用的float类型的变量,你把x重新定义一下

你把T改成INT型

public static void main(String args[])
{int i,j;
int t=1,x=0;
for(j=1;j<=20;j++)
{
for(i=1;i<=j;i++)
{
t=t*i;
}
x=x+t;
i=1;
t=1;
}
System.out.println("1到20的阶乘和是:"+x);
}

public class JIECHENG {
public static void main(String args[])
{int i,j;
int t=1,x=0;
for(j=1;j<=20;j++)
{
for(i=1;i<=j;i++)
{
t=t*i;
}
x=x+t;
i=1;
t=1;
}
System.out.println("1到20的阶乘和是:"+x);
}
}