1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
class Operaciones(private val num: Int) : Thread() { override fun run() { println("Tabla de multiplicar del $num") println("===============================") try { for (i in 1..10) { val resultado = num * i println("$num x $i = $resultado") } println("Fin tabla del $num") } catch (ex: Exception) { } } } fun main() { println("Tablas de Multiplicar:") print("Introduce el primer número: ") var num1 = readLine()?.toInt() //num1 = 5 print("Introduce el segundo número: ") var num2 = readLine()?.toInt() //num2 = 4 if (num1 != null && num2 != null) { val op1 = Operaciones(num1) val op2 = Operaciones(num2) try { op1.start() op1.join() op2.start() op2.join() } catch (e: InterruptedException) { e.printStackTrace() } } else { println("Entrada inválida. Introduce números válidos.") } } |
Sin hilos (un caos)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
class Operaciones(private val num: Int) { fun imprimirTabla() { println("Tabla de multiplicar del $num") println("===============================") for (i in 1..10) { val resultado = num * i println("$num x $i = $resultado") } println("Fin tabla del $num") } } fun main() { println("Tablas de Multiplicar:") print("Introduce el primer número: ") val num1 = readLine()?.toIntOrNull() print("Introduce el segundo número: ") val num2 = readLine()?.toIntOrNull() if (num1 != null && num2 != null) { val op1 = Operaciones(num1) val op2 = Operaciones(num2) // Llamar al método para imprimir las tablas secuencialmente op1.imprimirTabla() op2.imprimirTabla() } else { println("Entrada inválida. Introduce números válidos.") } } |