Форум программистов, компьютерный форум CyberForum.ru

Рандом конкретных чисел - Android

Восстановить пароль Регистрация
 
Schasliv4ik
1 / 1 / 0
Регистрация: 02.06.2014
Сообщений: 32
16.09.2014, 09:52     Рандом конкретных чисел #1
Добры день, мне нужно сделать рандом чисел от 1 до 4 (int) и записать их в масив, пробовал сделать так :
Java
1
2
3
4
5
6
7
8
9
10
11
12
TextView Score ;
int i=4, cer[] ;
 
               Score = (TextView) findViewById(R.id.score);
        
        cer = new int[4];
        
        for (i=4 ; i<=0 ; i--){
        cer[i] = (int)(Math.random()*4+1);
        }
        
        Score.setText("" + cer[0] + cer[1] + cer[2] + cer[3] );
В TextView выводится "0000", пожалуйста подскажите в чем проблема.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.09.2014, 09:52     Рандом конкретных чисел
Посмотрите здесь:

Android Рандом без повторений чисел

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
не спать!
1876 / 1610 / 497
Регистрация: 12.05.2014
Сообщений: 5,819
Завершенные тесты: 1
16.09.2014, 10:08     Рандом конкретных чисел #2
так вот:
Java
1
for (int i = 3; i >= 0; i--)
и переменную i незачем объявлять вне цикла
и массив тоже можно так объявить - одна строка, вместо двух
Java
1
int[] cer = new int[4];
Schasliv4ik
1 / 1 / 0
Регистрация: 02.06.2014
Сообщений: 32
16.09.2014, 16:58  [ТС]     Рандом конкретных чисел #3
Паблито, спасибо, в принципе все работает, но как сделать что бы не было повторов, например 4143, а только 3241 или 1432 например ?
Паблито
не спать!
1876 / 1610 / 497
Регистрация: 12.05.2014
Сообщений: 5,819
Завершенные тесты: 1
16.09.2014, 17:08     Рандом конкретных чисел #4
Java
1
2
3
4
5
6
7
8
public static void main(String[] args) {
        int[] arr = { 1234, 1243, 1342, 1324, 1423, 1432,
                2134, 2143, 2314, 2341, 2413, 2431, 
                3124, 3142, 3214, 3241, 3412, 3421, 
                4123, 4132, 4213, 4231, 4312, 4321 };
        Random rnd = new Random();
        System.out.println(arr[rnd.nextInt(24)]);
    }
взято отсюда
вместо System.out.println естественно написать что-то свое
Schasliv4ik
1 / 1 / 0
Регистрация: 02.06.2014
Сообщений: 32
16.09.2014, 17:58  [ТС]     Рандом конкретных чисел #5
Паблито, а как arr[0] , например, разбить на a=1, b=2, c=3, d=4 ?
Spelcrawler
521 / 491 / 110
Регистрация: 12.03.2014
Сообщений: 1,641
Завершенные тесты: 1
16.09.2014, 18:54     Рандом конкретных чисел #6
Java
1
char[] foo = arr[0].toString().toCharArray();
Но это будет массив символов, с которых можно спарсить int. Может и проще есть способ. И вообще это говнокод)
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
16.09.2014, 18:54     Рандом конкретных чисел #7
сам недавно подобное писал. Получилась жуткая схемка... Мне нужен был пароль из цифр без повторов. Каждый раз добавляя новый я проверял нет ли его в уже добавленных. И это в бесконечном цикле. Для маленьких цифр (4 из 10) это еще работало шустро, но в 10 из 10 схему пришлось переделывать. Свою математику придумал.
Schasliv4ik
1 / 1 / 0
Регистрация: 02.06.2014
Сообщений: 32
16.09.2014, 21:03  [ТС]     Рандом конкретных чисел #8
Tester64, Spelcrawler, всем спасибо, сделал так :

Код
 Integer[] arr = new Integer[4];
arr[0]=1;
		arr[1]=2;
		arr[2]=3;
		arr[3]=4; 
Collections.shuffle(Arrays.asList(arr));
просто перемешиваю массив, вот и получается рандом )

А знает кто, можно ли создать массив анимаций, например :
Код
AnimationDrawable animation[];
Ошибки нету а програма не запускается !
Spelcrawler
521 / 491 / 110
Регистрация: 12.03.2014
Сообщений: 1,641
Завершенные тесты: 1
16.09.2014, 21:20     Рандом конкретных чисел #9
Офигенное решение) А как программа не запускается без ошибки?
Schasliv4ik
1 / 1 / 0
Регистрация: 02.06.2014
Сообщений: 32
16.09.2014, 22:02  [ТС]     Рандом конкретных чисел #10
Spelcrawler, не правильно инициализировал , а нужно так :
Код
AnimationDrawable[] animation = new AnimationDrawable[5] ;
Yandex
Объявления
16.09.2014, 22:02     Рандом конкретных чисел
Ответ Создать тему
Опции темы

Текущее время: 00:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru