我已經在Java中編寫了以下方法。但是,我在包含返回(Constants.SUCCESS)的行上收到錯誤消息無法訪問的代碼;在swtch語句中無法訪問的代碼
如果我評論該行,我不會收到錯誤消息。現在我的疑問是,如果我評論該行,我不會收到錯誤消息?如果我評論該行,則呼叫部分沒有SUCCESS的返回值。我認爲應該有一個返回語句,並且如果所有「if循環」都沒有,並且默認沒有執行。我認爲最後的回報聲明將在任何情況下執行。我在最後還嘗試了返回(Constants.SUCCESS)語句(註釋行),但沒有運氣。 因此,爲了獲得成功,我是否需要在每個case語句的每個「if」循環之後返回成功(爲每個case語句創建「else」部分)。
static int validateStartAndEndStringOrder(String startStr, String endStr, ArrayList<String> swaraPool, Constants.PatternType ptrnType) {
switch (ptrnType) {
case AROHA_INCREASING: {
if (swaraPool.indexOf(endStr) < swaraPool.indexOf(startStr)) {
System.out.println("End string is before the start String");
return (-1);
}
}
case AROHA_DECREASING: {
if (swaraPool.indexOf(startStr) < swaraPool.indexOf(endStr)) {
System.out.println("End string is before the start String");
return (-1);
}
}
case AVAROHA_INCREASING: {
if (swaraPool.indexOf(endStr) < swaraPool.indexOf(startStr)) {
System.out.println("End string is before the start String");
return (-1);
}
}
case AVAROHA_DECREASING: {
if (swaraPool.indexOf(startStr) < swaraPool.indexOf(endStr)) {
System.out.println("End string is before the start String");
return (-1);
}
}
default: {
System.out.println("Invalid Enumeration Type");
return(-1);
}
return (Constants.SUCCESS);
}
//return (Constants.SUCCESS);
}