Для упражнения в классе мы с другом написали похожий код.Она работает, пока моя выдает:
Ошибка: этот метод должен возвращать результат типа java.lang.String
Ее код:
public static String alphaString (String a, String b) {
for (int i=0; i<a.length(); i++){
if ((int)(a.charAt(i)) < ((int)(b.charAt(i)))) {
return a;
}
if ((int)(a.charAt(i)) > ((int)(b.charAt(i)))) {
return b;
}
}
return ("these are the same words") ;
}
Мой код:
// метод, который принимает две строки и возвращает ту, которая стоит первой в алфавите
// alphaString ("банан", "яблоко") -> "яблоко"
// alphaString ("snake", "squirrel") -> "snake".
public static String alphaString(String s1, String s2) {
for (int i = 0; i<s1.length(); i++ ) {
if (s1.charAt(i)<s2.charAt(i)) {
return s1;
}
if (s1.charAt(i)>s2.charAt(i)){
return s2;
}
}
Теперь я могу сказать, что наши переменные имеют разные имена и что она использует (int) (хотяЯ не думаю, что это необходимо).Я не понимаю, почему ее код работает, а мой нет.Если я попытаюсь также добавить (int) и сделать код еще более похожим, я все равно получу ошибку.
Кто-нибудь знает, почему это может быть?