Ich habe eine Methode, die ein Array von Ganzzahlen als Eingabe verwendet und eine Zeichenfolge ausgibt, die besagt, welche Art von Dreieck Sie bilden sich, wenn das Argument die Länge 3 hat und andernfalls "ungültig" ausgegeben wird.Eclemma: wenn Anweisungen in einer Methode alle möglichen Eingaben abdecken, aber eclemma die return-Anweisung am Ende kennzeichnet, die nie erreicht wird
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";
}
}
Das Problem ist, dass die endgültige Return-Anweisung "zurück" Fehler alle Tests fehlgeschlagen ";" kann nicht erreicht werden, da die vorherigen if-Anweisungen alle möglichen Eingaben abdecken. Dies führt dazu, dass Eclemma fehlende Anweisungen anzeigt, aber ich kann es nicht herausnehmen, da ich eine Fehlermeldung bekomme, dass es ein Ergebnis vom Typ String zurückgeben muss. Gibt es eine Möglichkeit, Ecmelma dazu zu bringen, diese spezifische Aussage zu ignorieren oder sie in meinen Tests zu behandeln? Tahnks