Мой код не работает.... Получение исключения или приложение вылетает, даже если весь код в порядке

Я разрабатываю приложение-калькулятор EMI, используя Tenure и Loan Amount в качестве входных данных, используя kotlin, весь код в порядке, но все еще получаю ошибку, и код не работает.


    import android.graphics.Color
    import android.graphics.drawable.ColorDrawable
    import android.os.Bundle
    import android.widget.Button
    import android.widget.EditText
    import android.widget.TextView
    import android.widget.Toast
    import androidx.appcompat.app.AppCompatActivity
    import kotlin.math.pow
    class EMIPayment : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_emipayment)
        title = "EMI Payment"
        supportActionBar?.setBackgroundDrawable(
            ColorDrawable(Color.parseColor("#3F51B5")))    
        try {
            val calculateEMI = findViewById<Button>(R.id.calculateEMI)
            val emiView = findViewById<TextView>(R.id.EMIView)
            val pe = findViewById<EditText>(R.id.loanAmount)
            val ne = findViewById<EditText>(R.id.tenure)
            val p = pe.toString().toDouble()
            val n = ne.toString().toDouble()
            val r = 0.01717    
            val result = (p*r*(1+r).pow(n))/((1+r).pow(n)-1)
            calculateEMI.setOnClickListener {
                val fin = result*1
                emiView.text = fin.toString()
            }
        } catch (e:NumberFormatException ) {
            Toast.makeText(applicationContext, "Error occurred",Toast.LENGTH_SHORT).show()}}}

Какая ошибка? Пожалуйста, включите полную трассировку стека.

Stephen C 26.01.2023 15:27

«весь код в порядке» – «но возникает ошибка». Видимо код не в порядке; если бы все было в порядке, вы бы не получали ошибок.

knittl 26.01.2023 15:35

@knittl, вероятно, проблема с языком. Я думаю, что «весь код в порядке», вероятно, означает «нет ошибок компилятора».

Tenfour04 26.01.2023 17:14

Нам нужна трассировка стека сбоя, чтобы помочь вам.

franzesz 26.01.2023 18:58
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
4
62
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы пытаетесь преобразовать представление в String, а затем проанализировать его в Double:

val p = pe.toString().toDouble()

Это невозможно. Вместо этого вы, вероятно, захотите получить текстовое значение внутри этого EditText:

val p = pe.getText().toString().toDouble()

Другие вопросы по теме