当前位置: 代码迷 >> Java相关 >> 大家帮下忙,看下这个程序!
  详细解决方案

大家帮下忙,看下这个程序!

热度:72   发布时间:2010-10-25 20:19:11.0
大家帮下忙,看下这个程序!
觉得没问题啊,怎么执行不出来,求高手够指点!本人刚学java
class A
{
       public int i=2;
       public int j=1;
       public int sum=2;
       public int m;
       public int n;
      
       public void f()
       {
       for(m=1;m<=50;m++)
            {
              i=i+j;
              j=i-j;
              n=i/j;
              sum=sum+n;
              
             }
           }
      
   
       public void show()
       {  
              System.out.printf("%d\n",sum);
             }

}
class F
{
       public static void main(String[] args)
       {
               A aa=new A();
               aa.f();
               aa.show();
            
               
      }
}
              

[ 本帖最后由 pingweiqiang 于 2010-10-26 22:57 编辑 ]
----------------解决方案--------------------------------------------------------
  for(m=1;m<=50;m++)
            {
              i=i+j;
              j=i;
              n=i/j;
              sum=sum+n;
              
             }
           }
这里的n=i/j
写错了应该是  n=(int)(i/(j*1.0));
----------------解决方案--------------------------------------------------------
int型的值范围是 -2147483648到2147483648
你那循环50次int型的i,j早就越界了所以抛异常.
   你可以把int型转换成long就可以了

----------------解决方案--------------------------------------------------------
额,我这貌似有问题,再想想!
----------------解决方案--------------------------------------------------------
这样的错误,咋回事啊?
----------------解决方案--------------------------------------------------------
知道了,这个终于执行出来了!呵呵,谢谢!

class A
{
       public long i=2;
       public long j=1;
       public  float sum=2f;
       public long m;
       public float n;
      
       public void f()
       {
       for(m=1;m<=50;m++)
            {
                i=i+j;
                j=i-j;
                 n=(float)(i/(j*1.0));
              sum=sum+n;
              
             }
           }
              
            
      
   
       public void show()
       {  
              System.out.printf("%f\n",sum);
             }

}
class F
{
       public static void main(String[] args)
       {
               A aa=new A();
               aa.f();
               aa.show();
            
               
      }
}
               
----------------解决方案--------------------------------------------------------
努力哈!我还在C的路上。
总之 ,加油。
----------------解决方案--------------------------------------------------------
  相关解决方案