добавьте значение 10 раз и разделите его на 10 в kotlin - PullRequest
0 голосов
/ 24 апреля 2020

Как ввести значение в kotlin и добавить его 10 раз, а затем разделить на 10 с помощью элемента управления потоком (while).

Это мой код:

calcular.setOnClickListener {

            if (et_valor.text.isEmpty())
                Toast.makeText(this, "Debe ingresar un valor", Toast.LENGTH_SHORT).show()

            val valor = et_valor.text.toString().toInt()

            var x = 0

            val suma = 0

            while (x < 10) {

              val suma2 = suma+valor

              val division = suma2/10

              x++

              tv_resultad.text=("La sema del numero es $suma2 y la division es $division");tv_resultad.text.toString().plus(x)

            }

Ответы [ 3 ]

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

Вы можете попробовать это, если et_valor не пуст, он будет отображать тост, если нет, то будет go в l oop и будет продолжать добавлять доблесть каждый раз, показывая его значение и значение кумулятивное значение, деленное на 10. Вы также можете инициализировать деление до того, как l oop, но это не будет иметь значения.

    if (!et_valor.text.isEmpty()){
        val valor = et_valor.text.toString().toInt()

        var x = 0

        var suma = 0

        while (x < 10) {

            suma += valor

            val division = suma/10

            x++

            tv_resultad.text=("La sema del numero es $suma y la division es $division");
            tv_resultad.text.toString().plus(x)
        }

    } else {
        Toast.makeText(this, "Debe ingresar un valor", Toast.LENGTH_SHORT).show()
    }
0 голосов
/ 24 апреля 2020

другой способ

calcular.setOnClickListener {
        et_valor.text.toString().toIntOrNull()?.let { value ->
            calculate(value) { result, times ->
                tv_resultad.text =
                    ("La sema del numero es $result y la division es $value ").plus(times)
            }
        } ?: Toast.makeText(this, "Debe ingresar un valor", Toast.LENGTH_SHORT).show()
    }

    fun calculate(
        value: Int,
        times: Int = 10,
        onComplete: (result: String, times: String) -> Unit
    ) {
        var x = times
        var result = 0
        while (x > 0) {
            result += value
            x--
        }
        onComplete(result.toString(), times.toString())
    }
0 голосов
/ 24 апреля 2020

Попробуйте это

if (et_valor.text.isEmpty())
    Toast.makeText(this, "Debe ingresar un valor", Toast.LENGTH_SHORT).show()

    val valor = et_valor.text.toString().toInt()

    var x = 0

    val suma = 0

    while (x < 10) {
      val suma2 = suma+valor
        x++
    }

    val division = suma2/10
    tv_resultad.text=("La sema del numero es $suma2 y la division es $division")
    tv_resultad.text.toString().plus(x)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...