Создайте цикл, который достигает конца, а затем выполняет обратный ход

#java #arrays #loops

#java #массивы #циклы

Вопрос:

Я пытаюсь создать цикл for, который печатает числа 1, 2, 3, 4, 5, 6, 7, 8. После достижения конца цикл должен вернуться назад, начиная с 8, 7, 6, 5, 4, 3, 2, 1. Вывод проходит только через элементы, а затем заканчивается, он не возвращается обратно. Есть ли лучший способ закодировать это, я довольно новичок в программировании и работе с массивами и циклами. Любая помощь будет оценена.

 int num = 0;
        
        int[] arrayNumber = new int[] { 1, 2, 3, 4, 5, 6, 7, 8 }; 
        for (int i = 0; i < arrayNumber.length; ) {
            if (i < 8) {
                i  ;
            } else {
                i--;
            }
            num = arrayNumber[i];
            System.out.print(num);
        }
  

Ответ №1:

Вы можете использовать 2 цикла для каждого отображения, как показано ниже:

 int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8};   
//this one fo         
for (int n: numbers) {
        System.out.println(n);
}
//this one for the Reverse display
for(int i = (numbers.length-1);  i>=0;i--){
        System.out.println(numbers[i]);
}
  

Ответ №2:

если вы хотите выполнить бесконечный цикл (в Python) :

 i = 0;
test = [1, 2, 3, 4, 5, 6, 7, 8]
goesdown = False
while True:
  print(test[i])
  i  = -1 if goesdown == True else 1
  if(test[i] == test[-1]):
    goesdown = True
  if(test[i] == test[0]):
    goesdown = False