Continuando con los ejercicios hoy veremos otro ejemplo básico de como determinar si un numero es capicúa en android studio, esta sera una guía super básica y fácil de entender para todos los novatos.
Como Determinar si un Numero es capicúa en Android Studio
Cosas que deberías saber sobre el factorial
Una palabra capicúa o número palíndromo en matemática es un número que se lee igual de izquierda a derecha que de derecha a izquierda.Por ejemplo, los números 22, 111111, 343, 5665 y 17371 son capicúas. El término procede de la expresión catalana cap i cua (cabeza y cola)
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="match_parent" android:layout_height="wrap_content" android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:layout_marginTop="47dp" android:gravity="center" android:text="Número Capicúa" android:textAppearance="?android:attr/textAppearanceLarge" /> <EditText android:id="@+id/edtxtNumero" android:layout_width="90dp" android:layout_height="wrap_content" android:layout_below="@+id/textView" android:layout_marginTop="13dp" android:layout_toEndOf="@+id/textView2" android:ems="10" android:gravity="center" android:inputType="number" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/edtxtNumero" android:layout_alignParentStart="true" android:layout_marginStart="129dp" android:gravity="center|right" android:text="Número : " android:textAppearance="?android:attr/textAppearanceLarge" android:textSize="17dp" /> <Button android:id="@+id/btnVerificar" android:layout_width="120dp" android:layout_height="wrap_content" android:layout_alignStart="@+id/textView2" android:layout_below="@+id/edtxtNumero" android:layout_marginTop="32dp" android:background="#3F51B5" android:text="VERIFICAR" android:textColor="#FFFFFF" /> <TextView android:id="@+id/txtResultado" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignEnd="@+id/btnVerificar" android:layout_alignParentStart="true" android:layout_below="@+id/btnVerificar" android:gravity="center" android:textAppearance="?android:attr/textAppearanceLarge" android:textSize="17dp" /> </RelativeLayout>
Ahora nos vamos a la parte del código en nuestro MainActivity:
MainActivity
public class MainActivity extends AppCompatActivity { EditText numero; Button verificar; TextView resultado; AlertDialog.Builder dialogo; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); numero = (EditText) findViewById(R.id.edtxtNumero); verificar = (Button) findViewById(R.id.btnVerificar); resultado = (TextView) findViewById(R.id.txtResultado); verificar.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if(verificar.getText().toString().equals("Limpiar")){ numero.setText(""); numero.setEnabled(true); numero.requestFocus(); verificar.setText("Verificar"); resultado.setText(""); }else{ if(numero.getText().length() == 0){ dialogo = new AlertDialog.Builder(MainActivity.this); dialogo.setTitle("Error"); dialogo.setMessage("Ingresar el número"); dialogo.setCancelable(false); dialogo.setPositiveButton("Cerrar", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialogo, int id) { dialogo.cancel(); numero.requestFocus(); } }); dialogo.show(); }else{ if(numero.getText().length() <= 2){ dialogo = new AlertDialog.Builder(MainActivity.this); dialogo.setTitle("Error"); dialogo.setMessage("Ingresar un número mayor de dos dígitos"); dialogo.setCancelable(false); dialogo.setPositiveButton("Cerrar", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialogo, int id) { dialogo.cancel(); numero.requestFocus(); } }); dialogo.show(); }else{ int invertido = 0; int residuo; int numero = Integer.parseInt(MainActivity.this.numero.getText().toString()); while(numero != 0){ residuo = numero % 10; invertido = invertido * 10 + residuo; numero = numero / 10; } if(String.valueOf(invertido).equals(MainActivity.this.numero.getText().toString())){ resultado.setText("El número " + MainActivity.this.numero.getText().toString() + " es capicúa"); }else{ resultado.setText("El número " + MainActivity.this.numero.getText().toString() + " no es capicúa"); } MainActivity.this.numero.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.
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 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!