Не повторять слова в Swift при нажатии кнопки - Kotlin - PullRequest
0 голосов
/ 22 апреля 2020

Я учусь программировать в Kotlin самостоятельно, и для небольшого проекта я пытаюсь создать приложение, которое рандомизирует фрукты, не повторяя фрукты.

Мой вопрос к вам: как я не могу повторить массив при нажатии на кнопку в Kotlin? Я пытаюсь приносить фрукты без их повторения. Могу ли я отсортировать строку так, чтобы она проходила через все фрукты один за другим? Это не должно быть рандомизировано. Я просто хочу, чтобы каждое слово отображалось только один раз, когда я нажимаю кнопку и показываю последний массив: «Не осталось никаких вариантов фруктов»

Я попытался рандомизировать строку, но это повторяет фрукты. Я просто хочу, чтобы это было go один за другим. Когда я нажимаю кнопку на моем экране, вывод на этикетке с изображением должен давать мне каждый фрукт по одному за раз.

ie. Нажата кнопка «Выход:« Яблоко »

кнопка нажата снова Выход:« Банан »

и так далее, пока в последней строке не появится« Не осталось никаких вариантов фруктов »

Предыдущий фруктовый вопрос Вопрос: Знаете ли вы, как я могу go вернуться к предыдущему массиву? Например, если я нажал на кнопки, и Apple, Banana, Orange показали, но я хотел go вернуться, чтобы увидеть банан. Как бы Я так делаю?

class Fruits : AppCompatActivity() {

private val Fruit = arrayListOf("Apple", "Banana", "Cherry", "Dried Managos","Grapes")

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_fruit)

        nextQuestion1.setOnClickListener {
            val random = Random ()
            val randomProgram = random.nextInt(Fruit.count())

            FruitText.text = Fruit[randomProgram]

1 Ответ

0 голосов
/ 22 апреля 2020

Kotlin обеспечивает превосходные Collections API, и один из таких вариантов shuffle, который перемешивает данную коллекцию. Вам не нужно генерировать случайные числа, а затем отслеживать, какое число уже было сгенерировано. Просто используйте следующее:

class Fruits : AppCompatActivity() {

private val Fruit = arrayListOf("Apple", "Banana", "Cherry", "Dried Managos","Grapes")

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_fruit)

    nextQuestion1.setOnClickListener {
        Fruit.shuffle()
        FruitText.text = fruit[(0..Fruit.size)Random()]
    }
}

ПРИМЕЧАНИЕ: Collections API упакован в Kotlin стандартной библиотеке, а не в языке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...