【发布时间】:2018-03-02 05:15:36
【问题描述】:
我正在尝试创建一个重写的 compareTo 方法,该方法将比较两个字符串值并按字母顺序排序,我正在尝试递归地实现它,但是我的 return 和 if 语句遇到了麻烦:
public class Recursion{
private static int index = 0;
public static int compareTo(String string1,String string2){
char character1 = string1.toLowerCase().charAt(index);
char character2 = string2.toLowerCase().charAt(index);
if (character1 < character2 || string1.length() > string2.length()){
System.out.println("String 1 comes after String 2");
return -1;
}
else if(character1 > character2 || string1.length() < string2.length()){
System.out.println("String 1 comes before String 2");
return 1;
}
if (string1.length() == string2.length()){
index ++;
System.out.println("Index is " +index);
return 0;
return compareTo(string1,string2);
}
我在底部的递归 if 语句中收到编译器错误“无法访问的语句”,以及来自同一个 if 块的“缺少返回语句”。
【问题讨论】:
-
在你
return 0;-return compareTo(string1,string2);之后变得无法访问,因此出现错误。