Hoy veremos un ejercicio en ANDROID para utilizar la condicional IF.
En este ejercicio desarrollaremos una aplicación que determine la calificación de un estudiante de acuerdo a la escala vigesimal con la siguiente condición: de 0 hasta 10,5 será Malo; más de 10,5 hasta 14 será Regular; más de 14 hasta 18 será Bueno; de 19 hasta 20 será Excelente. También consideraremos validar la nota ingresada ya que esta no puede ser menor que 0 (cero) o mayor que 20.
Como Usar la Condicional IF en Android Studio
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"> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:orientation="vertical"> <TextView android:layout_width="164dp" android:layout_height="58dp" android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:layout_marginTop="68dp" android:text="Alumno" android:textSize="24sp" android:textStyle="bold" android:id="@+id/textView2" /> <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentStart="true" android:layout_below="@+id/textView2" android:layout_marginTop="29dp" android:text="Calificacion" android:textSize="24sp" android:textStyle="bold" /> <EditText android:id="@+id/edtxtAlumno" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/textView2" android:layout_toEndOf="@+id/textView2" android:ems="10" android:inputType="textPersonName" /> <EditText android:id="@+id/edtxtCalificacion" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/textView3" android:layout_alignEnd="@+id/edtxtAlumno" android:ems="10" android:inputType="textPersonName" /> <Button android:id="@+id/btnLimpiar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentStart="true" android:layout_below="@+id/edtxtCalificacion" android:layout_marginStart="18dp" android:layout_marginTop="117dp" android:text="LIMPIAR" android:textSize="18sp" /> <Button android:id="@+id/btnMostrar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/btnLimpiar" android:layout_alignBottom="@+id/btnLimpiar" android:layout_alignStart="@+id/edtxtCalificacion" android:layout_marginStart="61dp" android:text="MOSTRAR" android:textSize="18sp" android:textStyle="bold" /> <TextView android:id="@+id/txtresultado" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_marginBottom="67dp" android:layout_marginEnd="12dp" android:layout_toStartOf="@+id/btnMostrar" /> </RelativeLayout> </RelativeLayout>
MainActivity
public class MainActivity extends AppCompatActivity { EditText alumno; EditText calificacion; Button mostrar; Button limpiar; TextView resultado; AlertDialog.Builder alerta; String salumno; String scalificacion; String sresultado; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); resultado = (TextView) findViewById(R.id.txtresultado); mostrar = (Button) findViewById(R.id.btnMostrar); limpiar = (Button) findViewById(R.id.btnLimpiar); alumno = (EditText) findViewById(R.id.edtxtAlumno); calificacion = (EditText) findViewById(R.id.edtxtCalificacion); limpiar.setEnabled(false); mostrar.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { salumno = alumno.getText().toString(); scalificacion = calificacion.getText().toString(); if(salumno.length() == 0){ alerta = new AlertDialog.Builder(MainActivity.this); alerta.setTitle("Error"); alerta.setMessage("Ingresar el nombre del alumno"); alerta.setCancelable(false); alerta.setPositiveButton("Cerrar", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialogo, int id) { dialogo.cancel(); alumno.requestFocus(); } }); alerta.show(); }else{ if(scalificacion.length() == 0){ alerta = new AlertDialog.Builder(MainActivity.this); alerta.setTitle("Error"); alerta.setMessage("Ingresar la calificación del alumno"); alerta.setCancelable(false); alerta.setPositiveButton("Cerrar", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialogo, int id) { dialogo.cancel(); calificacion.requestFocus(); } }); alerta.show(); }else{ double cal = Double.parseDouble(scalificacion); sresultado = ""; if(cal>=0 && cal<=20){ if(cal <= 10.5){ sresultado = "Malo"; }else{ if(cal <= 14){ sresultado = "Regular"; }else{ if(cal <= 18){ sresultado = "Bueno"; }else{ sresultado = "Excelente"; } } } limpiar.setEnabled(true); mostrar.setEnabled(false); resultado.setText("La condición del alumno " + salumno + " es: " + sresultado); }else{ alerta = new AlertDialog.Builder(MainActivity.this); alerta.setTitle("Error"); alerta.setMessage("La calificación no es la correcta, la nota es vigesimal (0 - 20)"); alerta.setCancelable(false); alerta.setPositiveButton("Cerrar", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialogo, int id) { dialogo.cancel(); calificacion.setText(""); calificacion.requestFocus(); } }); alerta.show(); } } } } }); limpiar.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { limpiar_controles(); } }); } public void limpiar_controles(){ limpiar.setEnabled(false); calificacion.setText(""); alumno.setText(""); resultado.setText(""); alumno.requestFocus(); mostrar.setEnabled(true); } }
Hola soy Alex Céspedes fundador de ANDROFAST, programo algunas cosas por diversión, me gusta aprender cosas nuevas y estoy pendiente de todo lo que tenga que ver con tecnología. Este blog lo cree para todas las personas que tengan dificultades en la programación, para ser sincero nunca fui bueno y reprobé algunos cursos de programación, pero mis ganas de aprender pudieron más. SI YO PUEDO TU PUEDES ANIMO!