Я пытаюсь получить свой массив с номерами ramdom, чтобы сравнить 10 первых цифр и сказать, что если он выше, ниже или равен 11-му числу, я пробовал много циклов и многое другое, но я застрял на этом этапе.
private static int[] anArray;
public static int[] list() {
anArray = new int[11];
for (int i = 0; i < anArray.length; i++) {
anArray[i] = (int) randomFill();
}
return anArray;
}
public static void print() {
for (int n : anArray) {
System.out.print(n + " | ");
}
}
public static int randomFill() {
Random rand = new Random();
int randomNum = rand.nextInt(15);
return randomNum;
}
public static void main(String args[]) {
list();
print();
}
Я надеюсь, что один из вас поможет мне решить мою проблему.
Я знаю, что мне нужно кое-что добавить:
public static int randomFill() {
Random rand = new Random();
int randomNum = rand.nextInt(15);
return randomNum;
}
этот момент и распечатайте что-нибудь, но я не могу делать то, что мне нужно.
randomFill()
. Вы этого не сделаете. Вам нужно добавить еще один метод с кодом, выполняющим сравнение.
Также зачем вообще использовать randomFill()
, если можно просто создать случайный объект и повторно использовать его?
Вы ничего не делаете с возвращаемым значением list()
Не создавайте новый объект Random
каждый раз, когда вы вызываете randomFill
. Создайте один статический Random
и продолжайте его использовать.
Попробуй это:
public static int[] createRandomArray(int arraySize) {
return new Random().ints(arraySize, 0, 100).toArray();
}
Он вернет массив int [] размером 'arraySize', заполненный случайными числами. Цифры будут от 0 до 100.
Что не так с вашим текущим кодом? Также нет необходимости приводить результат возврата из
randomFill()
в int, поскольку он возвращает int.