我正在学习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()
}
}
}
答案 0 :(得分:1)
类似于bmiWeight和bmiHeight的外观是整数。整数除法会除掉余数,如果分母较大,则除以0。
尝试:
rerere
或以bmiHeight和bmiWeight作为双精度开头
bmiWeight.toDouble() / bmiHeight / bmiHeight * 10000