Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
4
respuestas

Alternativa de solución al ejercicio múltiplos de 3 con ciclo for

Es una manera forzada pero cumple con lo solicitado. Gracias.

package first;

public class EjercicioTablaTres {

    public static void main(String[] args) {

        System.out.println("Estos son los múltiplos de 3");

        //Forma machete de resolver el ejercicio, ya que el límite era 100 no 33.
        for(int multiplo = 1; multiplo <= 33; multiplo++) {
            int deTres = multiplo * 3;
            System.out.println(deTres);
        }
    }

}
4 respuestas

Muy buena alternativa de solución Alumno

La de tu servidor difiere sólo en unas líneas

System.out.print(" "); System.out.print(multiploDTres);

Lo anterior para obtener una salida lineal vertical para comodidad visual solamente.

Estos son los múltiplos de 3 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78 81 84 87 90 93 96 99

Pero sin duda una buen alternativa de solución la que compartes, se agradece, saludos.

Hola compañero! Sin duda una buena solución :)

¡Hola compañero!

Muchas gracias por compartir con nosotros tu código, sin embargo, puedo ver solo una práctica que podrías evitar para mejorar tu código:

Declaración constante de variable No es una muy buena práctica declarar variables dentro de un ciclo, porque eventualmente una variable puede declararse una vez en la aplicación y reutilizarse, pero cuando está dentro de un ciclo, ésta se crea tantas veces como deba iterarse el ciclo, innecesariamente, y esto impacta en el rendimiento de la aplicación, haciendo que su ejecución sea más pesada.

Entonces, podríamos cambiar esto:

//Forma machete de resolver el ejercicio, ya que el límite era 100 no 33.
        for(int multiplo = 1; multiplo <= 33; multiplo++) {
            int deTres = multiplo * 3;
            System.out.println(deTres);
        }

A esto:

int deTres = 0;

//Forma machete de resolver el ejercicio, ya que el límite era 100 no 33.
        for(int multiplo = 1; multiplo <= 33; multiplo++) {
            deTres = multiplo * 3;
            System.out.println(deTres);
        }

Otra cosa que podemos hacer para mejorar un poco más el rendimiento, es sacar del ciclo la impresión por pantalla. Verás, cada vez que se itera el ciclo, no solo calculas el múltiplo de 3 sino que además imprimes por pantalla. Ahora, el cálculo debe hacerse dentro del ciclo, pero la impresión por pantalla podríamos resolverla solo 1 vez dentro de toda la aplicación, y no cada vez que iteramos.

Entonces podemos cambiar esto:

int deTres = 0;

//Forma machete de resolver el ejercicio, ya que el límite era 100 no 33.
        for(int multiplo = 1; multiplo <= 33; multiplo++) {
            deTres = multiplo * 3;
            System.out.println(deTres);
        }

Por esto otro:

int deTres = 0;
String msg = "";

//Forma machete de resolver el ejercicio, ya que el límite era 100 no 33.
        for(int multiplo = 1; multiplo <= 33; multiplo++) {
            deTres = multiplo * 3;
            msg += "" + deTres + "\n";
        }

System.out.println(msg);

Ahora el código ya es mucho más eficiente, y se ve más elegante.

Excelente Jorge, muchas gracias! Lo probaré :)