Hoy veremos un ejercicio, como realizar operaciones con dos números.
Ya vimos en otros ejemplos como hacíamos las operaciones aritméticas de sumar, resta, multiplicar y dividir, pero en este caso ingresaremos dos números y nos mostrara las cuatro operaciones al mismo tiempo.
Ingresar dos números y realizar las operaciones sumar,resta,multiplicar,dividir
Empezaremos con la parte gráfica osea hacer la parte que esta como en la imagen de arriba les aclaro que la imagen que simboliza a la suma, resta, multiplicación y división debe ir guardada en la carpeta drawable si no estas familiarizado con esto, puedes descargar la aplicación que lo dejare al final y le echas un vistazo, pero recuerda copiar y comparar no es lo mismo 😉 .
activity_main
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" 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:layout_gravity="center_horizontal"> <ImageView android:id="@+id/imageView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/edtxtNumero1" android:layout_centerHorizontal="true" app:srcCompat="@drawable/operacion" /> <TextView android:id="@+id/textView6" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/textView7" android:layout_alignParentStart="true" android:layout_marginBottom="16dp" android:layout_marginStart="24dp" android:text="Primer Numero" android:textSize="24sp" android:textStyle="bold" /> <TextView android:id="@+id/textView7" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/btnLimpiar" android:layout_alignStart="@+id/textView6" android:text="Segundo Numero" android:textSize="24sp" android:textStyle="bold" /> <EditText android:id="@+id/edtxtNumero1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/textView6" android:layout_toEndOf="@+id/textView7" android:ems="10" android:inputType="number" /> <EditText android:id="@+id/edtxtNumero2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/textView7" android:layout_toEndOf="@+id/textView7" android:ems="10" android:inputType="number" /> <TextView android:id="@+id/txtResultado" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginBottom="15dp" android:textSize="24sp" /> <Button android:id="@+id/btnCalcular" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/txtResultado" android:layout_alignEnd="@+id/textView6" android:layout_marginBottom="103dp" android:text="CALCULAR" android:textStyle="bold" /> <Button android:id="@+id/btnLimpiar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignEnd="@+id/imageView2" android:layout_alignTop="@+id/btnCalcular" android:text="LIMPIAR" android:textStyle="bold" /> </RelativeLayout> </RelativeLayout>
Ahora revisaremos la parte de nuestro código, te sugiero que no lo memorices.
Simplemente checalo y revisa la parte de las condicionales IF
y darte una idea de como funciona estos ejercicios.
MainActivity
public class MainActivity extends AppCompatActivity { Button limpiar; Button calcular; EditText numero1; EditText numero2; TextView resultado; String snumero1; String snumero2; String sresultado = ""; AlertDialog.Builder dialog; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); limpiar = (Button) findViewById(R.id.btnLimpiar); calcular = (Button) findViewById(R.id.btnCalcular); numero1 = (EditText) findViewById(R.id.edtxtNumero1); numero2 = (EditText) findViewById(R.id.edtxtNumero2); resultado = (TextView) findViewById(R.id.txtResultado); limpiar.setEnabled(false); calcular.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { snumero1 = numero1.getText().toString(); snumero2 = numero2.getText().toString(); sresultado = ""; if(snumero1.length() == 0 ){ dialog = new AlertDialog.Builder(MainActivity.this); dialog.setTitle("Error"); dialog.setMessage("Ingresar el primer número"); dialog.setCancelable(false); dialog.setPositiveButton("Cerrar", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialogo, int id) { dialogo.cancel(); numero1.requestFocus(); } }); dialog.show(); }else{ if(snumero2.length() == 0){ dialog = new AlertDialog.Builder(MainActivity.this); dialog.setTitle("Error"); dialog.setMessage("Ingresar el segundo número"); dialog.setCancelable(false); dialog.setPositiveButton("Cerrar", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialogo, int id) { dialogo.cancel(); numero1.requestFocus(); } }); dialog.show(); }else { double suma = Double.parseDouble(snumero1) + Double.parseDouble(snumero2); if (suma % 1 == 0) { //Si es entero pero termina en .0 sresultado += snumero1 + " + " + snumero2 + " = " + (int) suma + "\n"; } else{ sresultado += snumero1 + " + " + snumero2 + " = " + suma + "\n"; } double resta = Double.parseDouble(snumero1) - Double.parseDouble(snumero2); if (resta % 1 == 0) { //Si es entero pero termina en .0 sresultado += snumero1 + " - " + snumero2 + " = " + (int) resta + "\n"; } else{ sresultado += snumero1 + " - " + snumero2 + " = " + resta + "\n"; } double multiplicacion = Double.parseDouble(snumero1) * Double.parseDouble(snumero2); if (multiplicacion % 1 == 0) { //Si es entero pero termina en .0 sresultado += snumero1 + " * " + snumero2 + " = " + (int) multiplicacion + "\n"; } else{ sresultado += snumero1 + " * " + snumero2 + " = " + multiplicacion + "\n"; } if(Integer.parseInt(snumero2) == 0){ sresultado += snumero1 + " / " + snumero2 + " = (División entre cero) \n"; }else{ double division = Double.parseDouble(snumero1) / Double.parseDouble(snumero2); if (division % 1 == 0) { //Si es entero pero termina en .0 sresultado += snumero1 + " / " + snumero2 + " = " + (int) division + "\n"; } else{ sresultado += snumero1 + " / " + snumero2 + " = " + division + "\n"; } } resultado.setText(sresultado); limpiar.setEnabled(true); calcular.setEnabled(false); } } } }); limpiar.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { limpiar_controles(); } }); } public void limpiar_controles(){ numero1.setText(""); numero2.setText(""); resultado.setText(""); limpiar.setEnabled(false); calcular.setEnabled(true); numero1.requestFocus(); } }
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.
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 talvez tengas problemas al momento de ejecutarlo.
Descargar Aquí
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!