【发布时间】:2015-03-14 04:37:02
【问题描述】:
我正在做一项家庭作业,该作业要求我比较两个字符串并确定它们是否按字母顺序排列。
我打算编写一个方法,它将两个字符串作为参数,(String a, String b) 并返回 1、0 或 -1(所以,一个 int)表示 a > b,a
例如,比较 ("boogie", "orange") 将返回 -1。因为,布吉
到目前为止我的代码是
public static int compare(String a, String b) {
for (int i = 0; i < a.length(); i++) {
for (int j = 0; j < b.length(); j++) {
char cha = a.charAt(i);
char chb = b.charAt(j);
if (cha < chb) {
return -1;
} else if (cha > chb) {
return 1;
}
}
return 0;
}
}
但是,我遇到了许多错误,无法找到修复这些错误的方法。我也很难找到一个代码来衡量一个单词是否比另一个单词长(这会影响字母顺序)有人可以帮我调试代码并指出正确的方向吗?
非常感谢。
【问题讨论】:
-
如果您遇到错误,总是发布它们。不要让我们坐在这里猜测!
-
“我也很难找到一个代码来衡量一个词是否比另一个长(这会影响字母顺序)” ...length()?
-
当您说两个单词之间的字母顺序时,您的意思是:每个单词的第一个字母?所有字母相互比较?现在,您只比较每个单词中的第一个字符,因为一旦匹配到
cha > chb或cha < chb,它就会返回。如果两个单词相同,它现在也将返回 0。
标签: java