protected Boolean zihanshu(int _betest)
     {
         Boolean _result =true;
         for (int i = _betest / 2; i >=2; i--)
         {
             if (_betest % i == 0)
             {
                 _result = false;
                 break;
             }
                  }
         return _result;
     } 

解决方案 »

  1.   

     
        protected Boolean zihanshu(int _betest)
        {
            Boolean _result = true;
            for (int i = _betest / 2; i >= 2; i--)
            {
                if (_betest % i == 0)
                {
                    _result = false;
                    break;
                }
            }
            return _result;
        }
    你应该这么写……
      

  2.   

    是因为循环有可能会一次都不执行,直接跳过
    所以将return写在循环里面不能保证任何逻辑下都有返回值而且即使你用传入的参数控制,让逻辑能够完美的运行,但是编译器可不知道你运行的时候究竟会传进什么东西来
      

  3.   


     protected Boolean zihanshu(int _betest)
        {
            Boolean _result =true;
            for (int i = _betest / 2; i >=2; i--)
            {
                if (_betest % i == 0)
                {
                    _result = false;
                    break;
                }
                        }
    return _result;
        
        }
      

  4.   


        protected Boolean zihanshu(int _betest)
        {
            Boolean _result = true;
            for (int i = _betest / 2; i >= 2; i--)
            {
                if (_betest % i == 0)
                {
                    _result = false;
                    break;
                }
            }
            return _result;
        }
      

  5.   


    编译器不会真的给你执行一边程序,只会做语法和语义检查。你写代码“粗看”如果 for 循环结束后就没有 return 代码被执行了,这就是一个语义错误,就给你报错。编译器才不管你的 for 循环语句是否真的能够结束呢,就算你说for 循环不可能结束、只可能return,也没用。
      

  6.   

    别说你写的是 break,就算你写成 protected Boolean zihanshu(int _betest)
    {
        Boolean _result = true;
        for (int i = _betest / 2; i >= 2; i--)
        {
            if (_betest % i == 0)
            {
                _result = false;
                return true;
            }
            return _result;    }} 这种 for 循环永远不可能结束的代码,也是报相同的错误。所以编译器有时候也跟“你的技术主管”一样,看一下你这个人做事是否在关键地方显得有规矩,不管你有什么理由,只要形式上不规矩就不行。