Как рассчитать общее количество символов в массиве 2D-строк с использованием расширенного цикла for на java?

#java #multidimensional-array #nested-loops

Вопрос:

 public class LoopPractice {
    public static void main(String[] args) {
        String[][] wordData = {{"study", "consider", "examine", "learn"}, {"ponder", "read", "think", "cogigate"}};
        
        // Below is the question. Am trying to print the total number of characters in the wordData String array.

        //Use nested enhanced for loops to calculate the total number of characters in the wordData 2D array and print the result to the console. (Get the string .length() of each element)
 

// Ниже приведено то, что у меня есть, но он продолжает печатать количество символов 0 и общее количество символов каждого слова в консоли.
// Я не знаю, как получить строку.длина() вложенного массива строк с использованием расширенного цикла for.

         int characterCount = 0;
    for(String[] characters: wordData) {
      for(String totalNumber : characters) {
       System.out.println(totalNumber.length();
       }
    }
        System.out.println(characterCount);
        

    }
    
}
 

Ответ №1:

Хотя ваш код правильно выполняет итерацию по 2D-массиву, на самом деле вы не увеличиваете общее количество символов.

Просто измените следующую строку:

    System.out.println(totalNumber.length();
 

Для:

 characterCount = totalNumber.length();
 

Ответ №2:

У вас есть правильная идея, за исключением того, что вместо печати на консоль во вложенном цикле for вам нужно добавить длину строки в число символов. так что вы бы сделали:

 characterCount = characterCount   totalNumber.length();
 

или для краткости

 characterCount  = totalNumber.length();
 

Вы могли бы написать это немного чище:

 int count = 0;

for (String[] arr: wordData) {
    for (String str: arr) {
        count  = str.length();
    }
}

System.out.println(count);