Horas vividas en kotlin
Android
Publicado el 8 de Marzo del 2019 por Pepe
3.172 visualizaciones desde el 8 de Marzo del 2019
Un código para android studio en kotlin en el cual se pide la fecha de nacimiento y te imprime las horas vividas.
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.widget.Toast
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
btn_mostrar.setOnClickListener {
var diasVividos = 0
var mesesVividos = 0
var aniosVividos = 0
var horasVividas = 0
when {
editxt_anio.text.toString().equals("") || editxt_hora.text.toString().equals("") || editxt_dia.text.toString().equals(
""
) || editxt_mes.text.toString().equals("") -> Toast.makeText(
this,
"Dato inválido",
Toast.LENGTH_SHORT
).show()
else -> {
var dias = editxt_dia.text.toString().toInt()
var mes = editxt_mes.text.toString().toInt()
var anio = editxt_anio.text.toString().toInt()
var hora = editxt_hora.text.toString().toInt()
when {
hora < 0 || anio < 1 || mes < 1 || dias < 1 || dias > 31 || hora > 23 || mes > 12 -> Toast.makeText(
this,
"Dato inválido",
Toast.LENGTH_SHORT
).show()
else -> when {
anio > 2019 || anio == 2019 && dias == 8 && mes == 3 && hora > 11 || anio == 2019 && mes == 3 && dias > 8 || anio == 2019 && mes > 3 || mes == 2 && dias > 28 -> Toast.makeText(
this,
"Aun no ha nacido o es inválida la fecha",
Toast.LENGTH_SHORT
).show()
else -> {
when {
mes < 3 -> {
aniosVividos = 2019 - anio
when (mes) {
2 -> {
diasVividos = 28 - dias
diasVividos = diasVividos + 8
}
else -> {
diasVividos = 31 - diasVividos
diasVividos = diasVividos + 28
diasVividos = diasVividos + 8
}
}
diasVividos = diasVividos - 1
diasVividos = diasVividos + (28 * aniosVividos)
horasVividas = diasVividos * 24
horasVividas = horasVividas + (24 - hora)
horasVividas = horasVividas + (((aniosVividos * 11) * 31) * 24)
horasVividas = horasVividas + 11
}
mes == 3 && dias < 8 -> {
diasVividos = 8 - dias
aniosVividos = 2019 - anio
diasVividos = diasVividos - 1
diasVividos = diasVividos + (28 * aniosVividos)
horasVividas = diasVividos * 24
horasVividas = horasVividas + (24-hora)
horasVividas = horasVividas + (((aniosVividos * 11) * 31) * 24)
horasVividas = horasVividas + 11
}
mes == 3 && dias == 8 && hora < 12 ->{
diasVividos = 8 - dias
aniosVividos = 2019 - anio
diasVividos = diasVividos - 1
diasVividos = diasVividos + (28 * aniosVividos)
horasVividas = diasVividos * 24
horasVividas = horasVividas + (24-hora)
horasVividas = horasVividas + (((aniosVividos * 11) * 31) * 24)
horasVividas = horasVividas + 11
}
else -> {
diasVividos = 31 - dias
mesesVividos = 14 - mes
mesesVividos = mesesVividos - 1
diasVividos = diasVividos + 28
aniosVividos = 2019 - anio
aniosVividos = aniosVividos - 1
diasVividos = diasVividos + 7
diasVividos = diasVividos + (28 * aniosVividos)
horasVividas = diasVividos * 24
horasVividas = horasVividas + (24-hora)
horasVividas = horasVividas + ((mesesVividos * 31) * 24)
horasVividas = horasVividas + (((aniosVividos * 11) * 31) * 24)
horasVividas = horasVividas + 11
}
}
editxt_anio.setText("")
editxt_dia.setText("")
editxt_mes.setText("")
editxt_hora.setText("")
txtView_mostrar.setText("Las horas vividas son $horasVividas horas")
horasVividas = 0
mesesVividos = 0
aniosVividos = 0
diasVividos = 0
}
}
}
}
}
}
}
}
Comentarios sobre la versión: 1.0 (0)
No hay comentarios