2015-12-04 4 views
-2

Как сгенерировать случайное число в android? В моей деятельности он имеет один button, textView и editText. Сначала пользователю нужно ввести алфавит между A-D. Когда кнопка нажата, на экране появится алфавит. Алфавит не должен совпадать с вводом.Создать произвольный алфавит

После этого алфавит будет удален из списка.

Предположим, что список - {A, B, C, D}. Если пользователь вводит тип A, система отобразит любой алфавит, кроме A. Пусть указанный вывод B, тогда B будет удален из списка. Поэтому, если кнопка снова нажата, она снова не отобразит B.

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     final Random r = new Random(); 
     input=(EditText)findViewById(R.id.editText); 
     a=input.getText().toString(); 
     btnNext = (Button) findViewById(R.id.button); 
     Name=(TextView)findViewById(R.id.textView); 
     btnNext.setOnClickListener(new View.OnClickListener() { //if next button is clicked 
      @Override 
      public void onClick(View v) { 
       if(a=="A") 
       { 
        //what should write here ? 
       } 
       Name.setText(Integer.toString(r.nextInt(100) + 1)); 
      } 
     }); 
    } 

Это то, что я пробовал, но он используется для генерации случайного числа. Любые намеки? Спасибо

ответ

1

простое решения для Вас:

Random random = new Random(); 
int index = random.nextInt(25); 

String [] alphabets = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L","M", "N","O","P","Q", "R", "S", "T", "U", "V","W", "X","Y","Z"}; 

String mRandomAlphabet = alphabets[index]; 
Log.i("Random Alphabet", mRandomAlphabet); 

Надеется, что это поможет точно.

1

Вы можете удалить входной алфавит из списка и создать случайный индекс из этого списка, после этого вы получите алфавит по этому индексу. Надеюсь, эта помощь!

1

Вы можете использовать литье типа для этого: 1) Создание массива с номером asci. 2) Тип вводит ввод в int и удаляет это число из массива. 3) Затем используйте случайную функцию, чтобы получить любое число от 0 до 26, то есть длину алфавитов и получить это из списка массивов. 4) Теперь напечатайте его снова на символ и отобразите его.

1

Удалите алфавит из списка, когда пользователь вводит алфавит и нажимает дальше. Таким образом, вы никогда не увидите тот же алфавит.

  1. Имейте 26 элементов (алфавитов) в массиве Список.
  2. Производите случайное число от 0 до n (n изначально 25).
  3. Получите элемент списка в этом индексе. Это будет алфавит.
  4. Удалить из списка.
  5. Создайте случайное число между 0 и n-1.
  6. Повторите.

Pro: Работает с несколькими вариантами. Не только с алфавитами.