package com.example.myapplication
import android.os.Bundle
import android.view.View
import android.widget.Button
import android.widget.EditText
import androidx.appcompat.app.AppCompatActivity
import com.example.test1.R
class MainActivity : AppCompatActivity() {
private lateinit var per1: EditText
private lateinit var sl: Button
private lateinit var vc: Button
private lateinit var mn: Button
private lateinit var del: Button
private lateinit var rav: Button
private lateinit var clr: Button
private lateinit var drb: Button
private lateinit var nol: Button
private lateinit var odin: Button
private lateinit var dva: Button
private lateinit var tri: Button
private lateinit var chet: Button
private lateinit var pyat: Button
private lateinit var shes: Button
private lateinit var sem: Button
private lateinit var vos: Button
private lateinit var dev: Button
private var save: Float = 0f
private var result: Float = 0f
private var flag: Int = 0
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
per1 = findViewById(R.id.per1)
sl = findViewById(R.id.sl)
vc = findViewById(R.id.vc)
mn = findViewById(R.id.mn)
del = findViewById(R.id.del)
rav = findViewById(R.id.rav)
clr = findViewById(R.id.clr)
drb = findViewById(R.id.drb)
nol = findViewById(R.id.nol)
odin = findViewById(R.id.odin)
dva = findViewById(R.id.dva)
tri = findViewById(R.id.tri)
chet = findViewById(R.id.chet)
pyat = findViewById(R.id.pyat)
shes = findViewById(R.id.shes)
sem = findViewById(R.id.sem)
vos = findViewById(R.id.vos)
dev = findViewById(R.id.dev)
sl.setOnClickListener {
val num1 = per1.text.toString().toFloatOrNull() ?: return@setOnClickListener
if (flag == 5) {
per1.setText("")
flag = 1
} else {
per1.setText("")
if (save == 0f) {
save = num1
flag = 1
return@setOnClickListener
}
save += num1
flag = 1
}
}
vc.setOnClickListener {
val num1 = per1.text.toString().toFloatOrNull() ?: return@setOnClickListener
if (flag == 5) {
per1.setText("")
flag = 2
} else {
per1.setText("")
if (save == 0f) {
save = num1
flag = 2
return@setOnClickListener
}
save -= num1
flag = 2
}
}
mn.setOnClickListener {
val num1 = per1.text.toString().toFloatOrNull() ?: return@setOnClickListener
if (flag == 5) {
per1.setText("")
flag = 3
} else {
per1.setText("")
if (save == 0f) {
save = num1
flag = 3
return@setOnClickListener
}
save *= num1
flag = 3
}
}
del.setOnClickListener {
val num1 = per1.text.toString().toFloatOrNull() ?: return@setOnClickListener
if (flag == 5) {
per1.setText("")
flag = 4
} else {
per1.setText("")
if (save == 0f) {
save = num1
flag = 4
return@setOnClickListener
}
save /= num1
flag = 4
}
}
rav.setOnClickListener {
val num1 = per1.text.toString().toFloatOrNull() ?: return@setOnClickListener
when (flag) {
1 -> save += num1
2 -> save -= num1
3 -> save *= num1
4 -> save /= num1
}
if (Math.abs(save - save.toInt()) < 0.00001) {
per1.setText(save.toInt().toString())
} else {
per1.setText(save.toString())
}
flag = 5
}
clr.setOnClickListener {
save = 0f
flag = 0
per1.setText("")
}
nol.setOnClickListener {
save = 0f
flag = 0
per1.setText("")
}
}
}
enter image description here
enter image description here
Хотел реализовать калькулятор, как на айфоне, сделал много кнопочек, прописал логику, изначально все работало хорошо, но постепенно с добавлением кнопок и логики приложение перестало запускаться, я подозреваю, что здесь проблема с использованием ресурсов, но не знаю, как это решить, читать LogCat пока не умею
New contributor
user25372701 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.