BMI计算器Kotlin

时间:2019-12-03 22:20:25

标签: kotlin

我正在学习android studio和kotlin。我没有Java经验,因此在学习kotlin时,我仅借鉴了C#编程的经验。我正在尝试制作一个简单的脚本,该脚本从身高和体重文本字段中获取输入并将它们放入一个公式中,该公式给出BMI分数,然后在我通过简单地乘以或加高来测试脚本时打印出所有有效的方法和重量一起测试,所以我知道通用代码有效。我该如何解决问题atm输出始终为0我总是在使用更大的值来搞乱,而最终似乎没有乘以10,000来解决问题?谢谢。


    package com.example.test

    import androidx.appcompat.app.AppCompatActivity
    import android.os.Bundle
    import android.widget.Button
    import android.widget.EditText
    import android.widget.TextView

    class MainActivity : AppCompatActivity() {

        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
            val btnChangeText = findViewById(R.id.btn_change_text) as Button
            val tvBMI = findViewById(R.id.output_BMI) as TextView
            val weight = findViewById(R.id.input_weight) as EditText
            val height = findViewById(R.id.input_height) as EditText

            btnChangeText.setOnClickListener {
               val bmiWeight = weight.text.toString().toInt()
               val bmiHeight = height.text.toString().toInt()
               val bmiCalc =  bmiWeight /  bmiHeight /  bmiHeight * 10000
                tvBMI.text = bmiCalc.toString()
            }

        }

    }

1 个答案:

答案 0 :(得分:1)

类似于bmiWeight和bmiHeight的外观是整数。整数除法会除掉余数,如果分母较大,则除以0。

尝试:

rerere

或以bmiHeight和bmiWeight作为双精度开头

bmiWeight.toDouble() / bmiHeight / bmiHeight * 10000
相关问题