学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
发新话题
打印

新手问题请教高手(已解决)

新手问题请教高手(已解决)

程序1:
/*求1+2+.....+100 */
public class SuanShi
{
public static void main(String [] args)
{
    double i,sum=1;
    for(i=2;i<=100;i++)
    {
          sum+=i;
    }
    System.out.println("sum="+sum);
}
}
程序2:
/* 求1+1/2+1/3+1/4+1/5+1/6+.....1/100 */
public class SuanShi1
{
public static void main(String [] args)
{
    double i,sum=1;
    for(i=2;i<=100;i++)
    {
     i=1/i;
          sum+=i;
    }
    System.out.println("sum="+sum);
}
}
为什么上面一个程序执行很快就出结果
而下面一个程序执行好久还不能得出结果呢?

[ 本帖最后由 hwpayg 于 2008-4-11 21:09 编辑 ]

TOP

class SuanShi1
{
public static void main(String [] args)
{
    double i,j,sum=1;
    for(i=2;i<=100;i++)
    {
     j=1.0/i;
          sum+=j;
    }
    System.out.println("sum="+sum);
}
}
学习需要安静。。海盗要重新来过。。

TOP

谢谢ls的
还有个问题
我写成j=1/i和j=1.0/i有什么不同

TOP

可以自己想想啊...1/3和1.0/3.0 有什么不同
学习需要安静。。海盗要重新来过。。

TOP

1.0/3.0和1/3的区别我知道
刚才没看清楚你的程序
乱说了句
现在搞明白了
我那第二个程序的循环是有问题的
另外:其实那个i=1/j是能通过的,系统能够替你自动转换。

[ 本帖最后由 hwpayg 于 2008-4-11 21:11 编辑 ]

TOP

恩..我只是习惯.不想给程序留下漏洞..呵呵
学习需要安静。。海盗要重新来过。。

TOP

是啊
程序确实应该求精
我没能想到那点

TOP

发新话题