我正在尝试编写返回给定整数是否可以被1到20整除的代码, 但我一直收到以下错误:
错误CS0161:“ ProblemFive.isTwenty(int)”:并非所有代码路径都返回值
这是我的代码:
public static bool isTwenty(int num) { for(int j = 1; j <= 20; j++) { if(num % j != 0) { return false; } else if(num % j == 0 && num == 20) { return true; } } }
您缺少return声明。
return
当编译器查看您的代码时,它会看到else可能会发生的第三条路径(您未为其编写代码),但未返回任何值。因此not all code paths return a value。
else
not all code paths return a value
对于我建议的修复程序,我return在循环结束后加上了a 。另一个明显的地方-向中添加一个else具有return值的if-else- if-会破坏for循环。
if-else- if
for
public static bool isTwenty(int num) { for(int j = 1; j <= 20; j++) { if(num % j != 0) { return false; } else if(num % j == 0 && num == 20) { return true; } } return false; //This is your missing statement }