我在这里尝试使用我的代码返回数字符号,但我使用 return 似乎有问题?帮忙讨好?
import java.util.*;
public class ReturnTest {
public static int sign(int n) {
if (n > 0)
return 1;
else if (n == 0)
return 0;
else if (n < 0)
return -1;
}
public static int sign(int n)
{
if (n > 0)
return 1;
else if (n < 0)
return -1;
return 0;
}
最后的if-else
是不必要的。我已经重新排序为"通常"的方式,在零点下降。像这样编写代码更短、更清晰、更易于理解
问题是您没有从方法中的所有路径返回方法。您可以通过根据 Oracle Java 代码约定相应地缩进代码来查看这一点:
public static int sign(int n) {
if (n > 0) {
return 1;
} else if (n == 0) {
return 0;
} else if (n < 0) {
return -1;
}
}
//needs a return here...
}
这可以通过在底部设置默认返回值来修复。代码可能如下所示:
public static int sign(int n) {
if (n > 0) {
return 1;
} else if (n == 0) {
return 0;
}
return -1;
}
还有其他方法可以实现这一点,但我更喜欢根据您当前的实现进行修复。
从您的评论来看,您似乎正处于学习 Java 的第一步。要创建应用程序,您需要一个入口点。这由具有此签名的main
方法标记:
public static void main(String[] args)
因此,在当前类中,可以添加此方法并使用它来调用sign
方法。我将展示一个非常基本的示例:
public class ReturnTest {
public static int sign(int n) {
if (n > 0) {
return 1;
} else if (n == 0) {
return 0;
}
return -1;
}
public static void main(String[] args) {
int n = 10;
int signOfN = sign(n);
System.out.println("The sign of " + n + " is: " + signOfN);
}
}
这取决于您如何根据需要调整此代码。我强烈建议您学习基础知识。你可以从这里开始:
- Trail:学习Java语言,Oracle关于Java基本概念的教程。
- 课程:仔细观察"你好世界!应用程序,只是为了更好地了解最基本的应用程序,"Hello World!
省略最后一个 if ( if (n < 0)
),因为否则有一个理论分支,函数永远不会离开!每个分支都必须返回!