返回类型的三角形,不识别标识符

问题描述:

我想要制作一个程序,当给出三个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; 
} 

是检查我的代码是告诉我,它不承认标识符equilateralisoscelesscalene程序。这是为什么?

+5

将'String'文字放在引号中,例如: ' “等边”'。 – rgettman 2014-10-09 18:49:15

+0

'else return“scalene”;'。 – MarGar 2014-10-09 18:52:27

+0

您也可以用名称定义常量,例如'public static final String EQUILATERAL =“equilateral”;'然后'return EQUILATERAL;'如果你这样做,约定就是使用大写字母作为标识符。优点是你只需要输入一次字符串,而且不必担心字符串中的拼写错误导致程序停止工作。 – ajb 2014-10-09 18:54:14

String 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"; 
} 
+0

我加了引号。该软件然后告诉我,它期望返回类型:void。 – rpeck3 2014-10-09 18:59:45

+0

@ rpeck3你在哪一行得到这个错误?这种方法为我编译完美。 – Mureinik 2014-10-09 19:01:23

+0

我正在使用一个网站来测试这段代码,所以它会自动编译并运行它。通常它给了我一条线,它遇到了一个错误,但对于这个特定的问题,它只是说“返回类型不匹配。预期返回类型:void。你的返回类型是:String”有没有一种方法可以做到这一点公共无效printTriangleType? – rpeck3 2014-10-09 19:06:56