Для решения Java 8+ см. этот ответ от Aominè .
В комментариях вы говорите, что не можете использовать Java 8. В этом ответе представлено решение для сред, предшествующих Java 8.
Если вы хотите вернуть int
, содержащий объединенное количество символов из каждого String
в массиве, вам необходимо изменить тип возврата вашего метода.
public static int countAllLetters(String[] array)
Обратите внимание, как я изменил имя, чтобы лучше выразить поведение этого метода.
Чтобы реализовать это, просто переберите array
и сложите вместе length()
каждого String
:
public static int countAllLetters(String[] array) {
int sum = 0;
for(String s : array)
sum += s.length();
return sum;
}
Это будет использоваться как:
public static void main(String[] args) {
String[] names = { "bob", "maxwell", "charley", "tomtomjack" };
int amountOfLetters = countAllLetters(names);
System.out.println(amountOfLetters);
}
Итак, ваш готовый результат будет:
public class YourClass {
public static void main(String[] args) {
String[] names = { "bob", "maxwell", "charley", "tomtomjack" };
int amountOfLetters = countAllLetters(names);
System.out.println(amountOfLetters);
}
public static int countAllLetters(String[] array) {
int sum = 0;
for(String s : array)
sum += s.length();
return sum;
}
}
Нажмите здесь, чтобы проверить с помощью онлайн-компилятора
Также обратите внимание, как я не объявляю массив names
внутри метода. Вместо этого я объявил его вне массива, а затем передал его в метод в качестве аргумента. Это позволяет повторно использовать метод для разных массивов, а не для одного жестко заданного массива names
.
Однако, если вы хотите вернуть String
содержимого массива вместе (в зависимости от имени и типа возврата, который вы показываете в своем вопросе), вам нужно сохранить тип возврата вашего метода как String
, и объединить элементы из массива:
public static String concat(String[] array) {
StringBuilder builder = new StringBuilder();
for(String s : array)
builder.append(s);
return builder.toString();
}