Multiplicación Rusa en Android Studio utilizando Recursividad

En este artículo encontrarás la aplicación de la multiplicación rusa utilizando recursividad en Android Studio para reforzar tus conocimientos en el tema, entonces empecemos.



El resultado final de la aplicación será la siguiente. 



Para ello utilizaremos los elementos de diseño como son: TextView, EditText, Button, entre otros. Claro que hay distintas formas en que puedes aplicar el diseño de tu aplicación según como lo desees.

Te recomiendo utilizar el Android Studio en su última versión hay muchos componentes que han mejorado, puedes descargarlo de su página oficial (clic aquí), si tienes algún problema al momento de instalarlo puedes dejarme un comentario para poder apoyarte.

En este ejercicio puedes crear una actividad en blanco o también una actividad básica ya predeterminada.

Dentro del xml de la actividad creada debes agregar el siguiente código:

 

   

      

      

      

      

      

      

      

      

      
   
      


Del mismo modo una vez diseñado correctamente tu xml, puedes pasar a la codificación en java dentro del paquete java de tu actividad, a continuación el código recursivo para la multiplicación rusa que de seguro te interesará.

   public String recursivoMultiplicacionRusa(int a, int b, int c) {
      if(a == 0) {
         return "El resultado de la multiplicación de " + c;
      } else {
         if(a % 2 != 0) {
            c = c + b;
         }
         return recursivoMultiplicacionRusa(a / 2, b * 2, c);
      }
   }

Ahora el código completo de la actividad con código java es el siguiente:
   
   package tucafejava.blogspot.multiplicacionrusaapp;

   import android.os.Bundle;
   import androidx.appcompat.app.AppCompatActivity;
   import androidx.appcompat.widget.Toolbar;
   import android.view.View;
   import android.widget.Button; 
   import android.widget.EditText;
   import android.widget.TextView;

   public class MainActivity extends AppCompatActivity {
      private EditText eMultiplicando;
      private EditText eMultiplicador;
      private Button bResultado;
      private TextView tResultado;
      
      @Override
      protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
         Toolbar toolbar = findViewById(R.id.toolbar);
         setSupportActionBar(toolbar);

         eMultiplicando = (EditText) findViewById(R.id.eMultiplicador);
         eMultiplicador = (EditText) findViewById(R.id.eMultiplicando);
         bResultado = (Button) findViewById(R.id.bResultado);
         tResultado = (TextView) findViewById(R.id.tResultado);

         bResultado.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
               String resultado = recursivoMultiplicacionRusa(Integer.parseInt(eMultiplicando.getText().toString()), Integer.parseInt(eMultiplicador.getText().toString()), 0);
               tResultado.setText(resultado);
            }
         });
      }

      public String recursivoMultiplicacionRusa(int a, int b, int c) {
         if(a == 0) {
            return "El resultado de la multiplicación de " + c;
         } else {
            if(a % 2 != 0) {
            c = c + b;
         }
            return recursivoMultiplicacionRusa(a / 2, b * 2, c);
         }
      }
   }




La aplicación mostrará el resultado en la parte inferior. Si deseas descargar el código haz clic aquí.


Espero haya sido de tu interés, no olvides dejar tu comentario para poder seguir creciendo y compartir con los tuyos en las redes sociales. Si tienes algún tema que deseas que publique, puedes comentarlo o enviarlo a través del formulario de contacto. Un Saludo cordial.
Dick Díaz Delgado

Ingeniero de Sistemas con experiencia en robótica sostenible, integrando impresión 3D e Internet de las Cosas (IoT) para desarrollar soluciones innovadoras. Me especializo en la aplicación de tecnologías emergentes dentro del ecosistema Fab Lab, promoviendo la fabricación digital como una herramienta clave para la educación, la industria y el desarrollo sostenible. Además de mi trabajo en tecnología, he incursionado en la escritura de libros y artículos científicos, con el objetivo de aportar conocimiento en áreas como la robótica, la inteligencia artificial y la fabricación digital. Actualmente, estoy desarrollando una aplicación de IA para el laboratorio de entomología de la UNSM, enfocada en mejorar la enseñanza y la investigación en este campo. Me apasiona la innovación y busco constantemente formas de integrar la tecnología para generar impacto. Mi enfoque está en el desarrollo de soluciones tecnológicas sostenibles, contribuyendo al crecimiento de la comunidad Fab Lab y a la evolución de proyectos con un propósito social y educativo.

2 Comentarios

  1. Men la neta no entiendo la recursividad, mi profa sacó su clase de aquí, ayudame porfa

    ResponderEliminar
    Respuestas
    1. En realidad hay más temas de recursividad por si deseas puedes leerlos.

      Eliminar
Artículo Anterior Artículo Siguiente