检查回文

时间:2018-05-31 20:48:02

标签: java arrays if-statement

为什么当我尝试使用此方法时它会在main中抛出异常? 我怀疑return语句有什么问题

public static boolean checkPalindrome(String inputString) {
    String [] letters=inputString.split("");
    int num=inputString.length();
    int middle=num%2;
    boolean plaindrome=false;
    if(middle==0){
        for(int i=0;i<num;i++){
            if(letters[i].equals(letters[num-i])){// it tells there is something wrong on this line
                plaindrome= true;
            }else{
                return false;
            }
        }
    }else{
        for(int i=0;i<num;i++){
            if(letters[i].equals(letters[num-i])){
                plaindrome= true;
            }else{
                return false;
            }
        }
    }
    return plaindrome;
}

1 个答案:

答案 0 :(得分:0)

documentation

一样
  

抛出以指示已使用非法索引访问数组。索引为负数或大于或等于数组的大小。