Что не так с этим кодом:
Random random = new Random();
int value = random.nextInt(275)+ 559;
int[] arrays = new int[15];
while (arrays.length != value){
arrays+value;
}
}
Во-первых,
while (arrays.length != value)
Пока длина массива не будет равной значению рандомного числа... Это даже простыми словами звучит нелогично
Во-вторых,
int value = random.nextInt(275)+ 559;
Элементу массива всегда будет присваиватся одно и то же значение. Надо его внутрь цикла перетащить.
Первый вариант, в случае если у вас рандом задан именно так:
int value = random.nextInt(275)+ 559;
public class Main {
public static void main(String[] args) {
int[] array = new int[15];
Random random = new Random();
for (int i = 0; i < array.length; i++) {
array[i] = random.nextInt(275) + 559;
}
Arrays.stream(array).forEach(System.out::println);
}
}
Второй вариант:
public class Main {
public static void main(String[] args) {
int[] array = new int[15];
for (int i = 0; i < array.length; i++) {
array[i] = getRandomNumber(275, 834);
}
Arrays.stream(array).forEach(System.out::println);
}
public static int getRandomNumber(int min, int max) {
return (int) ((Math.random() * (max - min)) + min);
}
}
Третий вариант:
public class Main {
public static void main(String[] args) {
int[] array = new int[15];
for (int i = 0; i < array.length; i++) {
array[i] = ThreadLocalRandom.current().nextInt(275, 834 + 1);
}
Arrays.stream(array).forEach(System.out::println);
}
}