任意の 2 つの文字列をアルファベット順に並べ替えるために、この再帰問題に悩まされています。メソッドのシグネチャは次のとおりです。
int compareTo(String s1, String s2)
次のようになります。
returnval <0
意味s1 < s2
returnval ==0
意味 s1 == s2
returnval >0
意味 s1 > s2
ここに私が持っているコードがあります:
package bonushw;
public class Recursion {
public void main (String[] args){
Recursion recurse = new Recursion();
System.out.println("value is: " + recurse.compareTo("bill","bill"));
}
public int compareTo (String s1, String s2) {
if(s1.length() == 0){
return 0;
}
else if (s1.charAt(0) < s2.charAt(0)){
return -1;
}
else if (s1.charAt(0) > s2.charAt(0)) {
return 1;
}
else {
return compareTo(s1.substring(1), s2.substring(1));
}
}
ありがとう