Continuando con los ejercicios hoy veremos otro ejemplo básico de como calcular el factorial de un numero natural en android studio, debido a que es un ejercicio que siempre se practica en las aulas de las universidades, colegios e institutos sera una guía super básica y fácil de entender para todos los novatos.
Como calcular el factorial de un numero natural en android studio
Cosas que deberías saber sobre el factorial
La función factorial se representa con un signo de exclamación “!” detrás de un número. Esta exclamación quiere decir que hay que multiplicar todos los números enteros positivos que hay entre ese número y el 1.Ejemplo: Factorial de 4= 1 x 2 x 3 x 4 =24
Factorial de 6= 1 x 2 x 3 x 4 x 5 x 6=720
Fuente: Factoriales
Ahora empezaremos con la parte gráfica donde veremos como se muestra en la imagen que esta arriba, solo utilizaremos:
- 2 textView
- 1 editText
- 1 Button
A continuación te dejo el código de la parte gráfica:
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="wrap_content" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:gravity="center" android:text="Factorial de N Numeros" android:textAppearance="?android:attr/textAppearanceLarge" /> <EditText android:layout_width="90dp" android:layout_height="wrap_content" android:inputType="number" android:ems="10" android:id="@+id/edNumero" android:layout_below="@+id/textView" android:layout_alignParentEnd="true" android:gravity="center" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:text="N Número : " android:id="@+id/textView2" android:layout_below="@+id/textView" android:layout_toStartOf="@+id/edNumero" android:layout_alignBottom="@+id/edNumero" android:gravity="center|right" android:textSize="17dp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:id="@+id/txt" android:layout_alignParentEnd="true" android:layout_below="@+id/edNumero" android:layout_alignParentStart="true" android:textSize="17dp" android:gravity="center" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="CALCULAR" android:id="@+id/bCalcular" android:layout_below="@+id/txt" android:layout_alignParentEnd="true" android:textColor="#FFFFFF" android:background="#3F51B5" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:layout_alignParentEnd="true" android:layout_below="@+id/bCalcular" android:layout_alignParentStart="true" android:gravity="center" android:id="@+id/tRespuesta" android:textSize="17dp" /> </RelativeLayout>
Ahora nos vamos a la parte del código en nuestro MainActivity:
MainActivity
public class MainActivity extends AppCompatActivity { EditText edNumero; Button bCalcular; TextView tRespuesta; AlertDialog.Builder dialog; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); edNumero = (EditText) findViewById(R.id.edNumero); bCalcular = (Button) findViewById(R.id.bCalcular); tRespuesta = (TextView) findViewById(R.id.tRespuesta); bCalcular.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if(bCalcular.getText().toString().equals("Limpiar")){ edNumero.setText(""); edNumero.setEnabled(true); edNumero.requestFocus(); tRespuesta.setText(""); bCalcular.setText("Calcular"); }else { if (edNumero.getText().length() == 0) { dialog = new AlertDialog.Builder(MainActivity.this); dialog.setTitle("Error"); dialog.setMessage("Ingresar el número"); dialog.setCancelable(false); dialog.setPositiveButton("Cerrar", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialogo, int id) { dialogo.cancel(); edNumero.requestFocus(); } }); dialog.show(); } else { if (edNumero.getText().toString().equals("")) edNumero.setText("0"); long factorial = 1; int num = Integer.parseInt(edNumero.getText().toString()); for (int i = 1; i <= num; i++) { factorial = i * factorial; } tRespuesta.setText(String.valueOf(factorial)); bCalcular.setText("Limpiar"); edNumero.setEnabled(false); } } } }); } }
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 tal vez tengas problemas al momento de ejecutarlo.
También te puede interesar Como calcular la hipotenusa de un triangulo
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!