Как заполнить массив последовательными номерами

Я хотел бы заполнить массив, используя последовательные целые числа. Я создал массив, который содержит столько индексов, сколько вводит пользователь:

Scanner in = new Scanner(System.in);
int numOfValues = in.nextInt();

int [] array = new int[numOfValues];

Как заполнить этот массив последовательными номерами, начиная с 1? Вся помощь приветствуется!!!

6 ответов


Начиная С Java 8

//                               v end, exclusive
int[] array = IntStream.range(1, numOfValues + 1).toArray();
//                            ^ start, inclusive

на range с шагом 1. Javadoc является здесь.

или использовать rangeClosed

//                                     v end, inclusive
int[] array = IntStream.rangeClosed(1, numOfValues).toArray();
//                                  ^ start, inclusive

простой способ:

int[] array = new int[NumOfValues];
for(int k = 0; k < array.length; k++)
    array[k] = k + 1;

for(int i=0; i<array.length; i++)
{
    array[i] = i+1;
}

теперь у вас есть пустой массив

поэтому вам нужно перебирать каждую позицию (от 0 до размера-1), помещая следующее число в массив.

for(int x=0; x<NumOfValues; x++){ // this will iterate over each position
     array[x] = x+1; // this will put each integer value into the array starting with 1
}

еще одна вещь. Если я хочу сделать то же самое с обратным:

int[] array = new int[5];
        for(int i = 5; i>0;i--) {
            array[i-1]= i;
        }
        System.out.println(Arrays.toString(array));
}

Я снова получил нормальный порядок..


Scanner in = new Scanner(System.in);
int numOfValues = in.nextInt();

int[] array = new int[numOfValues];

int add = 0;

for (int i = 0; i < array.length; i++) {

    array[i] = 1 + add;

    add++;

    System.out.println(array[i]);

}