Como hacer una aplicación en android que determine si un año es bisiesto

Hoy veremos otro ejercicio básico como determinar si un año es bisiesto o no, sera una guía super básica y fácil de entender para todos los que empiezan en el mundo de la programación en Android.

 

Como hacer una aplicación en android que determine si un año es bisiesto

 

Cosas que debemos saber de los años bisiestos
Un año bisiesto es un año con 366 días en vez de 365. Cada
4 años, febrero tiene un día más. Esto se hace porque un año oficialmente
no tiene 365 días, sino 365,25 días.

 

Ahora empezaremos con la parte gráfica donde crearemos como se muestra en la imagen que esta arriba, solo utilizaremos:

  1. 3 textView
  2. 1 editText
  3. 1 Button

 

A continuación te dejo el código del modo gráfico:

activity_main

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:gravity="center"
        android:text="Año Bisiesto"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <EditText
        android:id="@+id/edtxtAnio"
        android:layout_width="90dp"
        android:layout_height="wrap_content"
        android:layout_alignStart="@+id/btnVerificar"
        android:layout_below="@+id/textView"
        android:layout_marginStart="12dp"
        android:layout_marginTop="46dp"
        android:ems="10"
        android:gravity="center"
        android:inputType="number"
        android:maxLength="4" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/edtxtAnio"
        android:layout_alignBottom="@+id/edtxtAnio"
        android:layout_alignParentStart="true"
        android:layout_marginStart="103dp"
        android:gravity="center|right"
        android:text="Año :   "
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textSize="17dp" />

    <Button
        android:id="@+id/btnVerificar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/resultado"
        android:layout_marginBottom="29dp"
        android:layout_marginStart="17dp"
        android:layout_toEndOf="@+id/textView2"
        android:background="#3F51B5"
        android:text="VERIFICAR"
        android:textColor="#FFFFFF" />

    <TextView
        android:id="@+id/resultado"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_centerVertical="true"
        android:gravity="center"
        android:textAppearance="?android:attr/textAppearanceLarge" />
</RelativeLayout>

 

Ahora nos vamos a la parte del código en nuestro MainActivity:

MainActivity

 

public class MainActivity extends AppCompatActivity {
    EditText Anio;

    Button verificar;

    TextView respuesta;

    AlertDialog.Builder dialogo;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Anio = (EditText) findViewById(R.id.edtxtAnio);
        verificar = (Button) findViewById(R.id.btnVerificar);
        respuesta = (TextView) findViewById(R.id.resultado);

        verificar.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(verificar.getText().toString().equals("Limpiar")){
                    Anio.setText("");
                    respuesta.setText("");
                    Anio.setEnabled(true);
                    Anio.requestFocus();
                    verificar.setText("Verificar");
                }else{
                    if(Anio.getText().length() == 0){
                        dialogo = new AlertDialog.Builder(MainActivity.this);
                        dialogo.setTitle("Error");
                        dialogo.setMessage("Debe ingresar el cociente 'año'");
                        dialogo.setCancelable(false);
                        dialogo.setPositiveButton("Cerrar", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialogo, int id) {
                                dialogo.cancel();
                                Anio.setText("");
                                Anio.requestFocus();
                            }
                        });
                        dialogo.show();
                    }else{
                        int anio = Integer.parseInt(Anio.getText().toString());
                        if(anio % 4 == 0  &&  (anio % 100 != 0  ||  anio % 400 == 0)){
                            respuesta.setText("El año " + Anio.getText() + " es bisiesto");
                        }else{
                            respuesta.setText("El año " + Anio.getText() + " no es bisiesto");
                        }
                    }
                    Anio.setEnabled(false);
                    verificar.setText("Limpiar");
                }
            }
        });
    }
}

 

Con eso hemos terminado, así que les voy dejar a continuación el enlace de descarga, pero recuerda. Copiar no es lo mismo que comparar. Como dato extra al momento de correr tu aplicación puedes ingresar el año 2016 que si es un bisiesto y luego otros años, donde la aplicación te indicara que no es un año bisiesto.

Nota:

Si vas a descargar la aplicación de ejemplo te sugiero que primero observes si tienes tu IDE actualizado, pues para este ejercicio nosotros utilizamos Android Studio 3.0.1.
Si usas una versión inferior tal vez tengas problemas al momento de ejecutarlo.

Descargar Aquí.

También te puede interesar como calcular el área de un circulo.
                                             Como calcular el área de un rectángulo

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

WhatsApp chat