Horas vividas en kotlin
Android
Publicado el 8 de Marzo del 2019 por Pepe
3.450 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