package com.javarush.task.task07.task0702;
import java.io.BufferedReader;
import java.io.InputStreamReader;
/*
Массив из строчек в обратном порядке
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String[] stroka = new String[10];
for(int i = 0; i < 8; i++) {
stroka[i] = reader.readLine();
}
for(int x = 0; x < stroka.length; x++) {
int nim = stroka.length - x - 1;
System.out.println(stroka[nim]);
}
}
}Артём Косенко
37 уровень
Скажите пожалуйста, почему необходимо отнять помимо x еще 1 для вывода массива наоборот?
Решен
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Pavlo PlynkoJava-разработчик в CodeGymExpert
4 сентября 2017, 10:31
на первой итерации цикла: 10 - 0 - 1 = 9
на последней итерации: 10 - 9 - 1 = 0
А если не отнимать единицу, то будет 10 (в массиве stroka такого индекса нет) и 1 (до 0 не дойдем!).
0
David Willart
3 сентября 2017, 16:17
у тебя сформировался массив из 10 элементов. Первый элемент в ячейке с индексом ноль и последний соответственно в ячейке с индексом девять. Тебе нужно вывести все элементы начиная с девятого и далее вниз до нулевого.
В цикле фор можно это сделать несколькими способами. Самый простой использовать счётчик цикла у тебя это х. Задаёшь начальное значение для икса 9 и затем с каждым проходом вычитаешь единицу. То есть for ( int x = 9; x>0; x--) и в теле цикла вывод строки { System.out.println(stroka[x])}
В твоём коде это так сделано, что сложно понять происходящее. Чем понятней код ты пишешь, чем он проще для прочтения тобой и другими - тем лучше.
+3
Anonymous #2204808
7 августа 2020, 20:11
Спасибо огромное!
Ваш ответ мне помог понять эту тему 👍
0