Постоянные ступенчатые значения в новом массиве - PullRequest
0 голосов
/ 04 августа 2020

Я хотел бы создать новый массив на основе минимальных и максимальных значений с постоянными интервалами. Например, предположим, что мои min = 5 и max = 50 и steps = 5, как я могу создать новый массив, который начинается с min и переходит к max с приращениями steps?

Чтобы мой массив может выглядеть так: [5, 10, 15, 20...., 50]

Я пробовал следующее, но похоже, что это не работает:

int myArr[] = {};

myArr[0] = min;

for(int i = min, i <= max; i++){
   myArr[i] = min + step;
}

Любая помощь или совет будут очень признательны.

1 Ответ

1 голос
/ 04 августа 2020

Вы не указали размер массива. Вы должны сделать следующее:

public class SOTest {
    public static void main(String[] args) {
        int min = 5; // use whatever you prefer
        int max = 50; // use whatever you prefer
        int step = 5; // use whatever you prefer

        // now, determine size
        // its a simple calculation, that
        // determines how many elements would there be from min to
        // max if we jump by step
        int size = (max + step - min) / step;

        int[] myArr = new int[size]; // while creating array you need to specify
        // the size of the array, i.e. how many elements the array could hold

        int val = min;
        for(int i = 0; i <size; i++){
           myArr[i] = val;
           val = val + step;
        }

        for(int i=0; i<size; i++) {
           System.out.print(myArr[i] + " ");
        }

        System.out.println();
    }
}

И результат будет:

5 10 15 20 25 30 35 40 45 50

[PS]: Если что-то неясно, просто спросите меня в разделе комментариев ...

...