
JAVA 分别用do-while和for循环计算1+1/1!+1/2!+1/3!+1/3!.......的前20项和
我的代码如下(elipse环境下编译),为什么错了?求大神~classB{inti,item=1;floatprime(intn){for(i=1;i<=n;i++)it...
我的代码如下(elipse环境下编译),为什么错了?求大神~
class B
{
int i,item=1;
float prime(int n)
{
for(i=1;i<=n;i++)
item*=i;
return 1.0f/item;
}
}
public class 循环 {
public static void main(String args[])
{
B pr=new B();
int i,n=20;
float sum=0;
for(i=1;i<=n;i++)
sum+=pr.prime(i);
System.out.println(sum);
}
}
编译没错误信息,得到结果是:Infinity。不解 展开
class B
{
int i,item=1;
float prime(int n)
{
for(i=1;i<=n;i++)
item*=i;
return 1.0f/item;
}
}
public class 循环 {
public static void main(String args[])
{
B pr=new B();
int i,n=20;
float sum=0;
for(i=1;i<=n;i++)
sum+=pr.prime(i);
System.out.println(sum);
}
}
编译没错误信息,得到结果是:Infinity。不解 展开
5个回答
展开全部
把你代码拿去跑了一下,没有出错啊。结果:1.7182816
public static float prime(int n)
{
int i,item=1;
for(i=1;i<=n;i++)
{
item*=i;
}
return 1.0f/item;
}
public static void main(String[] args) throws Exception {
int i,n=20;
float sum=0;
for(i=1;i<=n;i++)
{
sum+=prime(i);
}
System.out.println(sum);
}
public static float prime(int n)
{
int i,item=1;
for(i=1;i<=n;i++)
{
item*=i;
}
return 1.0f/item;
}
public static void main(String[] args) throws Exception {
int i,n=20;
float sum=0;
for(i=1;i<=n;i++)
{
sum+=prime(i);
}
System.out.println(sum);
}
追问
为什么你的又得出结果呢? throws Exception 是什么意思(是主类吗),我刚学习JAVA不是很懂,可我的代码它得出的结果又是:Infinity。不解啊!
追答
throw exception 是往外抛出异常啊,如果在代码再跑的过程终于到了什么异常的话直接抛出。
如果你不想抛出异常的话,可以用try-catch进行异常捕获并进行相关的处理就行了。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把错误信息贴出来,难道还让人一行一行看你代码不成?
你这java代码写的,跟C一个样,连一个public private都没有,变量声明竟然都放在最前面= =!。类名竟然用中文,是想体现本土化?
先把错误信息贴出来吧!
你这java代码写的,跟C一个样,连一个public private都没有,变量声明竟然都放在最前面= =!。类名竟然用中文,是想体现本土化?
先把错误信息贴出来吧!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int item超范围了,,,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
循环二字不能直接写在代码里
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
运行结果为 Infinity,无穷大
追问
可按理说也没超出int的范围啊,若用C来描述又正确,可在JAVA的为什么会是无穷大呢?若要改,怎么改呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询