Форум программистов, компьютерный форум, киберфорум
Наши страницы

Java SE (J2SE)

Войти
Регистрация
Восстановить пароль
 
IzotopTh232
1 / 1 / 0
Регистрация: 02.12.2015
Сообщений: 54
#1

Как заполнить массив и N-элементов случайными числами - Java SE

17.04.2016, 09:42. Просмотров 964. Ответов 10
Метки нет (Все метки)

Доброго дня! Меня интересует такой вопрос : "Как заполнить массив и N-элементов случайными числами ?".
Искал в интернете , но найти не смог , а то , что нашел , не понял до конца .
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2016, 09:42
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как заполнить массив и N-элементов случайными числами (Java SE):

Как заполнить двумерный массив случайными числами? - Java SE
Привет всем.Я не совсем понимаю как при помощи функции Math.random заполнить двумерный массив слчуайными числами,допустим в диапазоне от 1...

Заполнить массив случайными числами - Java SE
Задача стоит такая есть 3 массива разных типов !!! Один типа int Второй типа short Третий типа byte Надо их заполнить рандомными...

Заполнить массив случайными, не повторяющимися числами - Java SE
Всем Здравствуйте. Вот столкнулся с такой проблемой: Нужно заполнить массив случайными и не повторяющимися числами. Вот к примеру...

Заполнить двумерный массив случайными числами - Java SE
Заполнить двумерный массив случайными числами в диапазоне от 1 до N Виконати заповнення двовимірного масиву випадковими цифрами в...

Заполнить массив случайными числами и вывести на экран - Java SE
Здравствуйте. Знаю, что подобные темы уже создавались, но меня интересуют мои ошибки. public static void main (String args) { int...

Написать программу, которая заполняет массив случайными числами и меняет порядок элементов в каждом столбце - Java SE
Написать программу, которая заполняет массив случайными числами и меняет порядок элементов в каждом столбце на обратный (массив до и после...

10
KEKCoGEN
Эксперт Java
2019 / 1894 / 454
Регистрация: 28.12.2010
Сообщений: 7,603
17.04.2016, 10:10 #2
IzotopTh232, что именно вам не понятно? Вы знаете как заполнить массив не случайными числами? Например приведите тут код, который заполнит массив числом 5
0
Igor100
26 / 26 / 13
Регистрация: 23.04.2011
Сообщений: 64
17.04.2016, 10:31 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
1. Почитайте о классе Random

Random example
Java
1
2
3
4
5
6
7
8
9
import java.util.Random; // импортируем класс
 
class Main {
    public static void main(String[] args) {
        Random rand = new Random(); // создаем объект класса Random
        System.out.println("Int random value: " + rand.nextInt()); // целочисленное случайное значение
        System.out.println("Float random value: " + rand.nextFloat()); // вещественное случайное значение
    }
}


2. Заполнение массива

Random fill array
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.util.Random;
class ArrayFill {
    private int[] iArray;
    private Random rand = new Random();
 
    ArrayFill(int n) {
        iArray = new int[n];
    }
    int[] randArrayFill() {
        for (int i = 0; i < iArray.length; i++) {
            iArray[i] = rand.nextInt()%100;
        }
        return iArray;
    }
}
 
public class Main {
    public static void main(String[] args) {
        ArrayFill filler = new ArrayFill(10);
        for(int i: filler.randArrayFill()) {
            System.out.println(i);
        }
    }
}
1
kozak95
34 / 34 / 10
Регистрация: 01.11.2013
Сообщений: 319
17.04.2016, 18:47 #4
Igor100, ты гурман прям)))
Java
1
2
        for(int i=0;i<array.length;i++)
            array[i]=new Random().nextInt(99);
Но для больших массивов лучше создать обьект рандом, а потом использовать его в цикле
1
KEKCoGEN
Эксперт Java
2019 / 1894 / 454
Регистрация: 28.12.2010
Сообщений: 7,603
17.04.2016, 19:27 #5
Цитата Сообщение от kozak95 Посмотреть сообщение
Но для больших массивов лучше создать обьект рандом, а потом использовать его в цикле
это лучше делать для любых массивов размерностью больше чем 1
0
Igor100
26 / 26 / 13
Регистрация: 23.04.2011
Сообщений: 64
18.04.2016, 12:34 #6
kozak95, KEKCoGEN,
Если вас не затруднит, скажите пожалуйста, почему так лучше ?

P.S. я только в процессе изучения Java.
0
KEKCoGEN
Эксперт Java
2019 / 1894 / 454
Регистрация: 28.12.2010
Сообщений: 7,603
18.04.2016, 13:12 #7
Igor100, каждую итерацию вы создаете объект который создавать не обязательно. Объект Random достаточно создать один раз в данном примере.
0
Igor100
26 / 26 / 13
Регистрация: 23.04.2011
Сообщений: 64
18.04.2016, 14:42 #8
KEKCoGEN, но разве, мой код в классе не соответствует вашим словам ?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class ArrayFill {
    private int[] iArray;
    private Random rand = new Random(); // Создаем один объект класса Random
 
    ArrayFill(int n) {
        iArray = new int[n];
    }
    int[] randArrayFill() {
        for (int i = 0; i < iArray.length; i++) {
            iArray[i] = rand.nextInt(100); // Используя ссылку на объект вызываем метод nextInt() класса Random
        }
        return iArray;
    }
}
Возможно, я пока не понимаю всех тонкостей языка, так как, мой уровень владения Java, пока равен 1/3 прочитанной книги Г. Шилдта
0
KEKCoGEN
Эксперт Java
2019 / 1894 / 454
Регистрация: 28.12.2010
Сообщений: 7,603
18.04.2016, 16:58 #9
Цитата Сообщение от Igor100 Посмотреть сообщение
но разве, мой код в классе не соответствует вашим словам ?
я не про ваш код говорил
0
Igor100
26 / 26 / 13
Регистрация: 23.04.2011
Сообщений: 64
18.04.2016, 17:18 #10
KEKCoGEN, прошу прощения, видимо я неправильно понял сообщение kozak95'a, приняв его код, как рекомендацию к своему.
0
Sandor19
0 / 0 / 0
Регистрация: 11.05.2015
Сообщений: 35
19.04.2016, 20:51 #11
Как-то вот так заполняли матрицу рандомными числами в определенном диапазоне. Может, пригодится.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Введите размерность матрицы: ");
String  n= br.readLine();
            int m=Integer.valueOf(n).intValue(); //преобразование строки к целому числу
            System.out.println("Введите границы рандома: "); //чтение строки, содержащее целое число
            String  Q= br.readLine(); //чтение строки, содержащее целое число
            int q=Integer.valueOf(Q).intValue(); //преобразование строки к целому числу
            String  W= br.readLine(); //чтение строки, содержащее целое число
            int w=Integer.valueOf(W).intValue(); //преобразование строки к целому числу
 
             System.out.println("Полученная матрица: ");
             int[][] A = new int[m][m]; //заполняем матрицу
            for (int i=0; i<m; i++)
            {
                for (int j=0; j<m; j++)
                {
                    A[i][j] = q+ (int) (Math.random()*((w-q)+1));
                }
            }
 
            for (int i=0; i<m; i++)
            {
                for (int j=0; j<m; j++)
                {
                    System.out.print( A[i][j]+" ");
                }
                System.out.print("\n");
            }
0
19.04.2016, 20:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.04.2016, 20:51
Привет! Вот еще темы с ответами:

Заполнить массив из 100 элементов простыми числами - Java SE
заполнить массив из 100 элементов простыми числами

Двумерный массив со случайными числами - Java SE
Пытаюсь создать двумерный массив со случайными числами( без разницы, какие диапазоны). Написал одну программу- работает, но не корректно....

Метод, заполняющий одномерный массив случайными числами от 10000 до 30000 - Java SE
Пишу программу по нахождению седловой точки и надо написать метод, который будет заполнять одномерный массив радномными числами от 10000 до...

Дан двумерный массив размерностью n × m, заполненный случайными числами - Java SE
Дан двумерный массив размерностью n × m, заполненный случайными числами. Определить, существует ли в этом массиве столбец, в котором...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru