将一个值相加 10 次并在 kotlin 中将其除以 10

add a value 10 times and divide it into 10 in kotlin

如何在 kotlin 中输入一个值并将其相加 10 次,然后使用流 (while) 控件将其分成 10。

这是我的代码:

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)

            }

试试这个

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)

你可以试试这个,如果et_valor不为空,它会显示吐司,如果不是它会进入循环,每次都不断增加勇气并显示它的价值和价值累加值除以 10。您也可以在 while 循环之前初始化除法,但这不会有什么不同。

    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()
    }

另一种方式

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())
    }