【发布时间】:2012-09-26 06:04:21
【问题描述】:
可能重复:
Using Recursion To Compare Strings To Determine Which Comes First Alphabetically Java
我被困在这个递归问题上,按字母顺序对任意两个字符串进行排序。这是方法签名:
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));
}
}
谢谢
【问题讨论】:
-
@AmitBhargava - 我刚刚添加了我的代码,谢谢
-
你的代码有问题吗?它有什么问题?
-
compareTo("","Hello World")的值应该是多少? -
@LouisWasserman - 你觉得不错?
-
不应该是
public static void main(String[] args)(缺少static)