Я делаю простой калькулятор в Kotlin, но не могу понять, почему эта функция всегда возвращает результат, равный нулю. Я думаю, у меня есть ошибка в моем операторе switch, но я не могу выяснить, где ??
Я пытался заменитьзначение в части else и понял, что это единственная часть, которая выполняется, и все остальные случаи не выполняются
Также, если я инициализирую результат со значением, скажем 0, это значение, которое всегдавозвращается как результат.
class MainActivity : AppCompatActivity() {
lateinit var myresult : TextView
lateinit var val1 : EditText
lateinit var btn : Button
lateinit var val2 : EditText
lateinit var operation : Spinner
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
myresult = findViewById<TextView>(R.id.txtresult)
val1 = findViewById<EditText>(R.id.valone)
val2 = findViewById<EditText>(R.id.valtwo)
var btn = findViewById<Button>(R.id.button)
operation = findViewById<Spinner>(R.id.spinner)
var opType = operation.selectedItem.toString()
fun calculate() : Int {
var value1 = Integer.parseInt(val1.text.toString())
var value2 = val2.text.toString().toInt()
var result : Int
when (opType){
"+" ->{result = value1 + value2
return result
}
"-" ->{result = value1 - value2
return result
}
"*" -> {result = value1 * value2
return result
}
"/" -> {result = value1 / value2
return result
} else -> result = 0
}
return result
}
btn.setOnClickListener{
println(calculate().toString())
myresult.text = calculate().toString()
}
}
}