我有一个方法,它将一个整数数组作为输入并输出一个字符串,说明哪种类型的三角形如果参数的长度为3,则它们形成,否则输出“无效”。Eclemma:如果方法中的语句覆盖了所有可能的输入,但eclemma标记了永远不会到达的结尾处的返回语句
public class Triangle {
public String typeOf(int[] args) {
if (args.length < 3) return "invalid"; // invalid
if (args[0] == args[1] && args[1] == args[2]) return "equilateral";
if (args[0] == args[1] && args[0] != args[2]) return "isosceles";
if (args[0] == args[2] && args[0] != args[1]) return "isosceles";
if (args[1] == args[2] && args[0] != args[1]) return "isosceles";
if (args[0] != args[1] && args[0] != args[2] && args[1] != args[2]) return "scalene";
return "Error all the tests failed";
}
}
问题是最终返回语句“return”错误所有的测试都失败了“;”因为前面的陈述涵盖了所有可能的输入,因此无法达到。这导致Eclemma显示丢失的指令,但我不能把它拿出来,因为我得到一个错误,说它必须返回字符串类型的结果。有没有办法让Eclemma忽略这个特定的陈述或在我的测试中覆盖它的方法? Tahnks