问大神一个问题,就是下面这个阶乘,局部变量变成成员变量后,为什么结果就算不对了呢!

classJi{publicstaticvoidmain(String[]args){intsum=0;for(inti=1;i<=3;i++){intji=1;for(... class Ji
{
public static void main(String[] args)
{
int sum=0;
for(int i=1;i<=3;i++)
{int ji=1;
for(int j=1;j<=i;j++)
{ji=ji*j;
}
sum=sum+ji;
}
System.out.println("这几个数阶乘和="+sum);
}
}
上面的运算是对的,但是把int ji放上面后:
class Ji
{
public static void main(String[] args)
{int ji=1;
int sum=0;
for(int i=1;i<=3;i++)
{
for(int j=1;j<=i;j++)
{ji=ji*j;
}
sum=sum+ji;
}
System.out.println("这几个数阶乘和="+sum);
}
}
这个运算的结果就不对,可以编译。但是运算的不对。求大神解答
展开
 我来答
hdparrot
2012-11-18 · TA获得超过2403个赞
知道小有建树答主
回答量:1385
采纳率:0%
帮助的人:1143万
展开全部
因为你下面有一个ji=ji*j;
ji是局部变量的时候,每次外循环都会重新把ji定为1,但是你把它当成全局变量的时候,每次循环后,ji的值都变了,不会回到1了,所以结果就不对了。
如果非想把ji变成全局变量,就要在外循环里的第一句写上ji=1;
TableDI
2024-07-18 广告
`VLOOKUP`函数主要用于在Excel中进行垂直查找,它基于一个查找值在指定区域的列中进行查找,并返回相应行的指定列的值。而`IF`函数用于进行条件判断,返回满足条件的值。当涉及到多个条件匹配时,通常不会单独使用`VLOOKUP`,而是... 点击进入详情页
本回答由TableDI提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式