Реализация массива в обратном порядке. (JAVA)

115
09 июня 2019, 05:40

Вчера в задание надо было создать массив который выводил бы данные в обратном порядке. Сделал не массив а String str1 = " Football "; // Обьявляем строку и присваиваем ей значение. char[] reverseName = str1.toCharArray(); // Преобразуем строку str1 в массив символов;

    for (int i = reverseName.length-1 ; i >= 0 ; i--){
        System.out.print (reverseName[i]);
    }

Так я научился возвращать String в обратном порядке. Как сделать если это. String[] str2 = [10]; Как вывести я понял строки , но как сделать чтобы они приняли обратный порядок не знаю. Вчера пробовал этим же путем и вроде получилось , но по большому счету методом тыка.

for (int i = str2.length-1 ; i >= 0 ; i--){
      Sout(str2[i])};

Вопрос что происходит при этих строках вообще и почему (str.lenght-1) и (i--); Сложно задал простой вопрос. Ну как мог.

Answer 1

Массив содержит элементы к которым можно получить доступ по индексу (номеру позиции элемента в массиве данных). В С-подобных языка, в частности Java, индексация начинается с 0, то есть первый элемент имеет индекс 0. Соответственно, так как элементов в массиве length, то индекс последнего элемента равен length-1 (индекс первого 0, последнего length-1, а всего элементов length).

Теперь рассмотрим код:

for (
     int i = str2.length-1; // Идем с хвоста массива данных. Задаем начальное значение индекса. 
     i >= 0;  // Цикл работает пока индекс не перескочит "голову" массива
     i--      // Единичный шаг от элемента к элементу. "От хвоста" к "голове"
){
      System.out.println(str2[i]); // Выводим значение массива, которому соответствует текущее значение индекса (номера позиции в массиве)
};
Answer 2

Что происходит в строках

for (int i = str2.length-1 ; i >= 0 ; i--){
  Sout(str2[i])};

Нетрудно понять, что это цикл for с переменной, которая берет значение последнего элемента массива и декрементирует её до первого элемента при каждой итерации. То ест происходит обход элементов массива по индексу в обратном порядке.

READ ALSO
Spring boot test не видит application.properties

Spring boot test не видит application.properties

В классе, для которого пишу тест, есть переменная:

161
Java Как отправить запрос на сервер

Java Как отправить запрос на сервер

Сделал на томкате скрипт что, если с браузера зайти на http://localhost:8080/helloservlet/hello, то мне в вк отправится hello в личные сообщенияКак сделать запрос...

207
Как преобразовать код так, чтобы было хотя бы два метода?

Как преобразовать код так, чтобы было хотя бы два метода?

Первый метод public static void main(String[] agrs) - точка входа, а второй - реализация заданияУ меня реализация в public static void main(String[] agrs), но надо сделать по другому

117
сохранение на одном строке

сохранение на одном строке

когда добавлю комментария оно сохраняется в одном же строкеВот код который сохраняет в беззе

176