Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Генерация чисел от....до 
:(
    Опции темы
Value
Дата 14.2.2010, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 2.12.2005

Репутация: нет
Всего: нет



Доброе время суток...
Начал недавно изучать JAVA и у меня возник такой вопрос:
как сгенерировать массив чисел, к примеру,  от 10 до 25 и чтобы они не повтроялись ?
Заранее спасибо за ответы
PM MAIL   Вверх
NightmareZ
Дата 14.2.2010, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


[хакер]
**


Профиль
Группа: Участник
Сообщений: 699
Регистрация: 10.8.2006

Репутация: нет
Всего: 13



Код
public static int[] CreateArray(int minValue, int maxValue)
{
    List<Integer> lst = new ArrayList<Integer>();
    for (int i = minValue; i <= maxValue; i++)
        lst.add(i);
    Random rnd = new Random();
    int[] arr = new int[maxValue - minValue + 1];
    for (int i = 0; i < arr.length; i++)
    {
        int idx = rnd.nextInt(lst.size());
        arr[i] = lst.get(idx);
        lst.remove(idx);
    }
    return arr;
}



--------------------
NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш
Ely-Art.ru - наша маленькая домашняя арт-студия
mugcraft.ru - кружки на любой вкус
PM WWW ICQ Skype GTalk AOL YIM   Вверх
Value
Дата 14.2.2010, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 2.12.2005

Репутация: нет
Всего: нет



спасибо огромное 

Это сообщение отредактировал(а) Value - 14.2.2010, 15:35
PM MAIL   Вверх
Value
Дата 15.2.2010, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 2.12.2005

Репутация: нет
Всего: нет



обьясните пожалуйста вот эту строку:
Код

lst.remove(idx);

для чего она нужна ?
PM MAIL   Вверх
MaxPayneC
Дата 15.2.2010, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 324
Регистрация: 18.2.2006

Репутация: 5
Всего: 9



Эта строка "говорит" списку, что данное число уже выпадало, и больше его не следует "пропускать".
PM   Вверх
Value
Дата 15.2.2010, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 2.12.2005

Репутация: нет
Всего: нет



вот теперь всё ясно... ещё раз всем спасибо
PM MAIL   Вверх
Value
Дата 21.3.2010, 03:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 2.12.2005

Репутация: нет
Всего: нет



Дальше больше smile
исходя из кода, как создать другой массив такой же длинны, но чтобы значения в одинаковых индексах массивов не повторялись
примерно вот так : 
Код

(значение)FirstArray[1] != (значение)SecondArray[1];

 smile 
Заранее спасибо
PM MAIL   Вверх
dorogoyIV
Дата 21.3.2010, 05:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: 3
Всего: 46



я бы выделил в отдельный метод получение нового значения:
Код

 for(int i = 0; i < first_arr.size(); i++)
 {
  int new_value = getNewValue();
 
  while (new_value == first_arr.get(i))
   new_value = getNewValue();

  second_arr.set(new_value, i);
 }

 private int getNewValue()
 {
  return new Random();
 }


подправишь там мелочи (привести к нужному типу, и т.д. ...)

Это сообщение отредактировал(а) dorogoyIV - 21.3.2010, 05:51
PM MAIL   Вверх
Value
Дата 11.5.2010, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 2.12.2005

Репутация: нет
Всего: нет



Код

private int getNewValue()
 {
  return new Random();
 }



в этом месте ошибку выдаёт... 
Код

incompatible types
required: int
found: java.util.Random

Код

private void getNewValue(){
Random rand = new Random();
int i = rand.nextInt(someInt);
return i;

Такое подходит или же можно по другому метод обявить ?

Это сообщение отредактировал(а) Value - 11.5.2010, 23:13
PM MAIL   Вверх
dorogoyIV
Дата 12.5.2010, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: 3
Всего: 46



Цитата(Value @  11.5.2010,  20:37 Найти цитируемый пост)
в этом месте ошибку выдаёт... 

 smile
Цитата(dorogoyIV @  21.3.2010,  05:48 Найти цитируемый пост)
подправишь там мелочи

Код

 private int getNewValue()
 {
  return new Random().nextInt();
 }



PM MAIL   Вверх
Value
Дата 12.5.2010, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 2.12.2005

Репутация: нет
Всего: нет



простите за настойчивость, но это получается, что при каждой новой проверке ( у меня их несколько) надо создавать новый List<Integer> ?
PM MAIL   Вверх
EnJ
Дата 12.5.2010, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 4.1.2010
Где: Харьков

Репутация: нет
Всего: нет



Не совсем понял суть вопроса.
В данном примере создается всего два List'a. Второй можно и не создавать, а писать прямо в массив int'ов.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0785 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.