2016-03-24 2 views
-5

Мой код:Как отобразить общую длину строк в массиве строк?

public class array3 { 

    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 
     String[] names = {"Einstein", "Newton", "Copernicus", "Kepler"}; 

     for(int i = 0; i < names.length; i++){ 
      System.out.println(names[i]); 
     } 

    } 

    } 

Мне нужно написать код, который отображает общую длину всех строк в массиве я заявивших (имена). Единственное, что приходит мне на ум в настоящее время, это использовать «names.length», но это даст только количество элементов в строке, а не фактическую длину строк.

+0

Голосов нет, потому что мне не нравится видеть обнаженных парней на S/O. – KTOV

+0

Кроме того, на ваш вопрос мог ответить Google. – KTOV

ответ

5

Проще говоря, это может быть сделано:

int s=0; // A variable to store the length 
for(int i = 0; i < names.length; i++){ 
    s+=names[i].length(); // add length of each String 
} 
System.out.println(s); // Print `s`. 
4

Если вы используете Java 8+, вы можете использовать Stream.mapToInt(ToIntFunction<? super T>) и IntStream.sum() как

String[] names = { "Einstein", "Newton", "Copernicus", "Kepler" }; 
System.out.println(Stream.of(names).mapToInt(String::length).sum()); 

Если вы хотите length из каждыйString вы можете использовать лямбда для отображения String и ее 'length как

Stream.of(names).forEach(s -> System.out.printf("%s %d%n", s, s.length())); 
Смежные вопросы