Nano Hash - криптовалюты, майнинг, программирование

Случайные различные числа во вложенном цикле

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

    Random rng = new Random();
    int chance = rng.nextInt((100)+1);
    for (int row = 0; row < 5; row ++) {
        System.out.print("row " + row + ": ");
        for (int col = 0; col < 10; col++) {
            System.out.print(chance + " ");
        }
        System.out.println();
    }

Вот результат:

ряд 0: 13 13 13 13 13 13 13 13 13 13

ряд 1: 13 13 13 13 13 13 13 13 13 13

ряд 2: 13 13 13 13 13 13 13 13 13 13

ряд 3: 13 13 13 13 13 13 13 13 13 13

ряд 4: 13 13 13 13 13 13 13 13 13 13

но мне нужно, чтобы каждое число генерировалось случайным образом, а не просто бросало 1 число и помещало его повсюду.


  • Попробуйте вычислить chance внутри цикла. 07.05.2019
  • Переместите присваивание переменной шанса внутрь вложенного цикла for. 07.05.2019
  • Так что это было довольно простое решение, спасибо! отлично работает 07.05.2019

Ответы:


1

Простой:

int chance = rng.nextInt((100)+1);

Эта строка получает новое случайное число и присваивает его вашей локальной переменной.

Ваш код выполняет приведенный выше оператор один раз перед циклом for. И затем ваш цикл печатает то, что вы поместили в эту локальную переменную.

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

Вот и все.

07.05.2019

2

Вы должны попробовать что-то вроде этого. Размещение переменной шанса внутри цикла будет каждый раз давать новое случайное число.

        Random rng = new Random();
        for (int row = 0; row < 5; row ++) {
            System.out.print("row " + row + ": ");
            for (int col = 0; col < 10; col++) {
                int chance = rng.nextInt((100)+1);
                System.out.print(chance + " ");
            }
            System.out.println();
        }
07.05.2019
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..