Java 返回三角形的类型,无法识别标识符
我试图制作一个程序,当给定三个表示三角形边长的Java 返回三角形的类型,无法识别标识符,java,Java,我试图制作一个程序,当给定三个表示三角形边长的int值时,它会告诉我我有什么样的三角形。代码如下: public String printTriangleType(int a, int b, int c) { if (a == b && b == c) return equilateral; else if (a == b && b != c && a != c) return isosceles; e
int
值时,它会告诉我我有什么样的三角形。代码如下:
public String printTriangleType(int a, int b, int c) {
if (a == b && b == c)
return equilateral;
else if (a == b && b != c && a != c)
return isosceles;
else if (a == c && b != c && b != a)
return isosceles;
else if (b == c && c != b && c != a)
return isosceles;
else
return scalene;
}
检查代码的程序告诉我,它无法识别标识符
等边
、等腰
和不等边
。这是为什么?Java中的字符串用引号(“
)表示。如果没有引号,Java会尝试将其解释为变量名,但失败了,因为您没有定义此类变量:
public String printTriangleType(int a, int b, int c) {
if (a == b && b == c)
return "equilateral";
else if (a == b && b != c && a != c)
return "isosceles";
else if (a == c && b != c && b != a)
return "isosceles";
else if (b == c && c != b && c != a)
return "isosceles";
else
return "scalene";
}
将
字符串
文本置于引号中,例如等边“
否则返回“scalene”。您还可以使用名称定义常量,例如公共静态最终字符串equilateral=“equilateral";
然后返回等边代码>如果这样做,则约定为标识符使用大写字母。优点是每个字符串只需输入一次,而且您不必担心字符串中的键入错误会导致程序停止工作。enum
会更好,但您可能还没有了解它们……我添加了引号。然后软件告诉我它需要返回类型:void。@rpeck3在哪一行得到这个错误?这个方法非常适合我。我正在使用一个网站来测试这个代码,所以它会自动编译并运行它。通常它会给我一行出错的代码,但对于这个特殊的问题,它只是说“返回类型不匹配。预期的返回类型:void。您的返回类型是:String”。有没有一种方法可以使用public void printTriangleType实现这一点?如果它是void
,您将无法返回值。。。您确定正确粘贴了代码吗?另外,为什么不在JDK中使用适当的编译器呢?这就是我感到困惑的原因。我的学校无法在计算机上安装Java博士或类似的程序。