У меня есть класс "Работник" и у него есть поле ID
Так вот мне нужно чтобы у каждого был свой УНИКАЛЬНЫЙ рандомный ИД. Вот мой код, но он работает только настолько, что одинаковых ИДОВ нет только рядом с друг с другом, а в массиве все же они есть...
Как быть? Что дописать ?
______________________________
for (int j=Employes.length-1;j>0;j--){
while (Employes[j].id==Employes[j-1].id) {Employes[j].SetId();} } // Пока ID текущего обьекта==ID следующего, выполнять рандом ID'а текущего обьекта
Java
(JAVA) Как прописать чтобы в массиве не было одинаковых элементов?
Массивы в программировании используются редко. Намного чаще используются различные структуры данных: динамические массивы, различные списки и коллекции, мэпы. Я честно говоря не очень понял смысл задания. Если нужны уникальные id, тогда задавайте их последовательно от 0 до inf.
Азамат Уразбаев
Нет, мне нужны рандомные ID, но чтобы не повторялись, какова мала бы не была вероятность ...
так в чем проблема, создать массив айдишников 1 2 3 4 5 6...
и присвоить работникам поочередно эти айди?
зачем рандом-то
а если рандом так важен, то проверяй каждый элемент indexOf!=lastIndexOf
если есть, рандомь заново последний/первый и опять наша песня начинается с начала
можно попробовать сделать рандом, который минимизирует повторение - (random(5)+1)*(random(3)+1)+random(100)
и присвоить работникам поочередно эти айди?
зачем рандом-то
а если рандом так важен, то проверяй каждый элемент indexOf!=lastIndexOf
если есть, рандомь заново последний/первый и опять наша песня начинается с начала
можно попробовать сделать рандом, который минимизирует повторение - (random(5)+1)*(random(3)+1)+random(100)
Воспользуйся структурой данных "Set" гугл в помощь
Азамат Уразбаев
И чем мне Сет поможет? я изучил что это, но как его применить чтобы это помогло?
package edu.javacourse.array;
public class MultiArray
{
public static void main(String[] args) {
// Объявим коснтанту для размера массива
int SIZE = 10;
// Создаем двумерный массив
char[][] graph = new char[SIZE][SIZE];
// Цикл по первой размерности (первые квадратные скобки)
for (int i = 0; i < SIZE; i++) {
// Цикл по второй размерности (вторые квадратные скобки)
for (int j = 0; j < SIZE; j++) {
graph[i][j] = '#';
}
}
// Теперь выводим массив на экран
// Цикл по первой размерности выводит строки
for (int i = 0; i < SIZE; i++) {
// Цикл по второй размерности выводит колонки - вывод одной строки
for (int j = 0; j < SIZE; j++) {
// Используем оператор print - без перехода на следующую строку
System.out.print(graph[i][j]);
}
// Переход на следующую строку
System.out.println();
}
}
}
public class MultiArray
{
public static void main(String[] args) {
// Объявим коснтанту для размера массива
int SIZE = 10;
// Создаем двумерный массив
char[][] graph = new char[SIZE][SIZE];
// Цикл по первой размерности (первые квадратные скобки)
for (int i = 0; i < SIZE; i++) {
// Цикл по второй размерности (вторые квадратные скобки)
for (int j = 0; j < SIZE; j++) {
graph[i][j] = '#';
}
}
// Теперь выводим массив на экран
// Цикл по первой размерности выводит строки
for (int i = 0; i < SIZE; i++) {
// Цикл по второй размерности выводит колонки - вывод одной строки
for (int j = 0; j < SIZE; j++) {
// Используем оператор print - без перехода на следующую строку
System.out.print(graph[i][j]);
}
// Переход на следующую строку
System.out.println();
}
}
}
Олег Землянский
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Solution {
private static int INF = Integer.MAX_VALUE / 2;
private int n; //количество вершин в орграфе
private int m; //количествое дуг в орграфе
private ArrayList adj[]; //список смежности
private ArrayList weight[]; //вес ребра в орграфе
private boolean used[]; //массив для хранения информации о пройденных и не пройденных вершинах
private int dist[]; //массив для хранения расстояния от стартовой вершины
//массив предков, необходимых для восстановления кратчайшего пути из стартовой вершины
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Solution {
private static int INF = Integer.MAX_VALUE / 2;
private int n; //количество вершин в орграфе
private int m; //количествое дуг в орграфе
private ArrayList adj[]; //список смежности
private ArrayList weight[]; //вес ребра в орграфе
private boolean used[]; //массив для хранения информации о пройденных и не пройденных вершинах
private int dist[]; //массив для хранения расстояния от стартовой вершины
//массив предков, необходимых для восстановления кратчайшего пути из стартовой вершины
Похожие вопросы
- Ребят почему оба элемента массива принимают одинаковое значение? JAVA
- Java списочный массив ArrayList
- Как сместить массив вправо java
- Как сравнить элементы массива с другой переменной?
- Задача на массивы в Java.
- Сортировка элементов java
- Всем привет. Помогите плз. Мне нужна помощь тех кто действительно хорошо знает Java т. к мне нужно выбрать один из курсов
- Помогите доделать код на java. В форму пользователь вводит символ, который нужно заменить на #.
- Не выводит изображение в JAVA
- Java проблема с рефлексией.