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。不解
展开
 我来答
clareweicao
2012-10-19 · 超过18用户采纳过TA的回答
知道答主
回答量:92
采纳率:0%
帮助的人:47.8万
展开全部
把你代码拿去跑了一下,没有出错啊。结果: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);
}
追问
为什么你的又得出结果呢? throws Exception 是什么意思(是主类吗),我刚学习JAVA不是很懂,可我的代码它得出的结果又是:Infinity。不解啊!
追答
throw exception 是往外抛出异常啊,如果在代码再跑的过程终于到了什么异常的话直接抛出。
如果你不想抛出异常的话,可以用try-catch进行异常捕获并进行相关的处理就行了。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lqing2006
2012-10-18 · TA获得超过1233个赞
知道小有建树答主
回答量:793
采纳率:0%
帮助的人:833万
展开全部
把错误信息贴出来,难道还让人一行一行看你代码不成?
你这java代码写的,跟C一个样,连一个public private都没有,变量声明竟然都放在最前面= =!。类名竟然用中文,是想体现本土化?

先把错误信息贴出来吧!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
odfriend
2012-10-19 · 超过16用户采纳过TA的回答
知道答主
回答量:80
采纳率:0%
帮助的人:39.1万
展开全部
int item超范围了,,,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丶左轮丬
2012-10-18
知道答主
回答量:52
采纳率:0%
帮助的人:19.2万
展开全部
循环二字不能直接写在代码里
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
年丁蓝泪11
2012-10-18
知道答主
回答量:45
采纳率:0%
帮助的人:23.7万
展开全部
运行结果为 Infinity,无穷大
追问
  • 可按理说也没超出int的范围啊,若用C来描述又正确,可在JAVA的为什么会是无穷大呢?若要改,怎么改呢

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式