Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите с задачей в Java

Dean Winchester Ученик (101), на голосовании 1 год назад
Постройте функцию, которая возвращает массив целых чисел от n до 1, где n>0.
Голосование за лучший ответ
Ярослав Облаков Профи (790) 1 год назад
 public static int[] reverseCountdown(int n) { 
if (n <= 0) {
return new int[0];
} else {
int[] result = new int[n];
for (int i = n; i > 0; i--) {
result[n - i] = i;
}
return result;
}
}
АлександрИскусственный Интеллект (301711) 1 год назад
похвально стремление предугадать некорректные значения аргумента, но разве в задании сказано как-либо об этом заботиться или просят вернуть какой-то массив для n меньше либо равного нулю?
Ярослав Облаков Профи (790) Александр, я хотел обеспечить более корректное поведение функции в случае передачи некорректных значений,вот код без проверки
 public static int[] arrayFromNTo1(int n) { 
    int[] result = new int[n]; 
    for (int i = n; i > 0; i--) { 
        result[n - i] = i; 
    } 
    return result; 
}  
@Synergyst Мыслитель (8916) 1 год назад
 public static int[] reverseRange(int n) { 
// создаём массив размером n
int[] arr = new int[n];
// заполняем его числами от n до 1
for (int i = 0; i < n; i++) {
arr[i] = n - i;
}
// возвращаем массив
return arr;
}
В случае, если потребуется вызывать функцию:
 int[] arr = reverseRange(5); 
System.out.println(Arrays.toString(arr)); // [5, 4, 3, 2, 1]
То-есть, полноценная реализация кода будет такова:
 import java.util.Arrays; 

public class Main {
public static void main(String[] args) {
int n = 5;
int[] arr = reverseRange(n);
System.out.println(Arrays.toString(arr)); // [5, 4, 3, 2, 1]
}

public static int[] reverseRange(int n) {
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = n - i;
}
return arr;
}
}
Похожие вопросы