Одно случайное число Java, пытающееся получить фиксированный диапазон

Я пытаюсь создать генератор случайных чисел с фиксированным диапазоном от 1 до 100, который является int min = 1 и int max = 100. Мне пока удалось получить этот код. Использование BlueJ в качестве среды.

import java.util.Random; 

public class RandomNumber { 
    public static int getRandomNumberInts(int min, int max) { 
        Random random = new Random(); 
        return random.ints(min,(max+1)).findFirst().getAsInt(); 
    }
} 

Есть ли другой способ получить фиксированное число в пределах моего диапазона без необходимости вводить диапазон самостоятельно?

Где твой код?

lwi 23.03.2018 13:22

похоже, вы забыли опубликовать свой код.

Zinki 23.03.2018 13:22

посмотри на это: stackoverflow.com/questions/363681/…

arthur 23.03.2018 13:29

import java.util.Random; открытый класс RandomNumber {общедоступный статический int getRandomNumberInts (int min, int max) {Random random = new Random (); вернуть random.ints (мин, (макс + 1)). findFirst (). getAsInt (); }}

jinny 23.03.2018 13:59

извините, это немного грязно, иди, почему он не позволяет мне публиковать раньше

jinny 23.03.2018 14:00

что вы имеете в виду под without the need to enter the range myself? Как ваша программа узнает диапазон, если вы этого не скажете?

Bentaye 23.03.2018 14:53

@Bentaye означает, что он автоматически даст мне случайное число, когда я вызываю метод, вместо того, чтобы все время вручную заполнять диапазон

jinny 24.03.2018 00:11
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
8
382
1

Ответы 1

Вы можете передать свои границы конструктору, тогда объект RandomNumber узнает их, и вы можете просто вызвать свой метод без параметров. Но ваш метод больше не может быть статичным.

public class RandomNumber {

    private Random random;
    private int minBound;
    private int maxBound;

    public RandomNumber(int minBound, int maxBound) {
        this.random = new Random();
        this.minBound = minBound;
        this.maxBound = maxBound;
    }

    public int getRandomNumberInts() {
        return random.ints(minBound, (maxBound + 1))
                     .findFirst()
                     .getAsInt(); 
    }
}

Тогда вы называете это так

RandomNumber rn = new RandomNumber(1, 100);
System.out.println(rn.getRandomNumberInts());
System.out.println(rn.getRandomNumberInts());    
System.out.println(rn.getRandomNumberInts());    
System.out.println(rn.getRandomNumberInts());

Другие вопросы по теме