Java返回语句

use*_*796 1 java return

Eclipse一直告诉我向方法添加一个return语句,即使我这样做了.

public class PrefixCode { 
    public String isOne(String[] words) {
        if(words.length==1) {
            return "Yes";
        }
        ArrayList<Integer> indexPositions= new ArrayList<Integer>();
        for(int i=0;i<words.length;i++) {
            String firstWord=words[i];
            java.util.List<String> listOfWordsToCheck = new ArrayList<String>(Arrays.asList(words));
            listOfWordsToCheck.set(i,null);
            for(int j=0;j<listOfWordsToCheck.size();j++) {
                String secondWord= listOfWordsToCheck.get(j);
                if(firstWord.startsWith(secondWord)==true) {
                    indexPositions.add(j);
                }
                else if(firstWord.startsWith(secondWord)==false);
            }
        }  
        if(indexPositions.size()==0) {
            return "Yes";
        }
        else if(indexPositions.size()!=0) {
            Collections.sort(indexPositions);
            return "No,"+indexPositions.get(0)+"";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的返回语句不在for循环中,所以我不明白这里有什么问题.

Ami*_*rma 6

没有默认回报.您正在做的唯一回报是if某些条件是真的.如果条件错误怎么办?

return在最后一个else街区之后添加一个你很好的去.

else块是多余的.else块内的内容应该是没有的else.