vs2010提示“并非所有的代码路径都返回值” 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; } 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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; }你应该这么写…… 是因为循环有可能会一次都不执行,直接跳过所以将return写在循环里面不能保证任何逻辑下都有返回值而且即使你用传入的参数控制,让逻辑能够完美的运行,但是编译器可不知道你运行的时候究竟会传进什么东西来 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; } 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; } 编译器不会真的给你执行一边程序,只会做语法和语义检查。你写代码“粗看”如果 for 循环结束后就没有 return 代码被执行了,这就是一个语义错误,就给你报错。编译器才不管你的 for 循环语句是否真的能够结束呢,就算你说for 循环不可能结束、只可能return,也没用。 别说你写的是 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 循环永远不可能结束的代码,也是报相同的错误。所以编译器有时候也跟“你的技术主管”一样,看一下你这个人做事是否在关键地方显得有规矩,不管你有什么理由,只要形式上不规矩就不行。 提现功能算法,进来看一下大牛 datagrid导出excel的问题 ascx怎样加载到aspx页面中~! 使用webservice.htc时遇到的问题 我自己写个数据库操作类,可是不知道在其他文件中怎样调用 怎么模拟Windows身份认证登录Web页面? 我的ASPX网站的aspnet_wp.exe会随着用户的增加越长越大, ●讨论●:第二个网页获得第一个网页的(应为任一种)控件的值好的方法(不让用户看见)??? 我要疯了!~~~ treeview 怎么和数据库绑定? 套用母版页后ID做JS函数的参数 ExtAspNet下怎么通过路径下载文件
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;
}
你应该这么写……
所以将return写在循环里面不能保证任何逻辑下都有返回值而且即使你用传入的参数控制,让逻辑能够完美的运行,但是编译器可不知道你运行的时候究竟会传进什么东西来
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;
}
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;
}
编译器不会真的给你执行一边程序,只会做语法和语义检查。你写代码“粗看”如果 for 循环结束后就没有 return 代码被执行了,这就是一个语义错误,就给你报错。编译器才不管你的 for 循环语句是否真的能够结束呢,就算你说for 循环不可能结束、只可能return,也没用。
{
Boolean _result = true;
for (int i = _betest / 2; i >= 2; i--)
{
if (_betest % i == 0)
{
_result = false;
return true;
}
return _result; }} 这种 for 循环永远不可能结束的代码,也是报相同的错误。所以编译器有时候也跟“你的技术主管”一样,看一下你这个人做事是否在关键地方显得有规矩,不管你有什么理由,只要形式上不规矩就不行。