Programming
T03-001-01 - Funciones, procedimientos y métodos.
Enunciado
Valores de retorno.
En muchas ocasiones, los métodos devuelven algún valor como resultado de su ejecución. Ese valor puede ser almacenado en alguna variable o utilizado directamente como sustituto de la invocación.
Ejemplo
Vamos a trasladar el código correspondiente al deseo del usuario de continuar o no a una función
elUsuarioQuieraSeguir(), de modo ese método devuelva el valor tecleado por el usuario.El cambio más importante en ese método es que el modificador
voiddebe ser sustituido por el tipo de dato del valor de retorno. En este momento, el valor de retorno será el número tecleado por el usuario, por lo que el valor de retorno seráint:
static int elUsuarioQuieraSeguir() {
int seguir;
Scanner sc = new Scanner(System.in);
seguir = sc.nextInt();
return seguir;
}El código del método main() quedaría de la siguiente forma:
public static void main(String[] args) {
int contador = 1, seguir = 1;
while (elUsuarioQuieraSeguir() != 0) {
// Invocamos el método cabecera
cabeceraTablaMultiplicar(contador);
tablaDeUnNumero(contador);
// Invocamos el método pie
pieTablaMultiplicar(contador);
contador++;
}
}Ejercicio
Transforma la función
elUsuarioQuieraSeguir()de manera que devuelva unboolean, en lugar deint: si el usuario pulsa un número distinto de 0, la función devolverátruey devolveráfalsesi el usuario ha pulsado un 0.
Solución
package tablasmultiplicar;
import java.util.Scanner;
public class TablasMultiplicar {
public static void main(String[] args) {
int contador = 1, seguir = 1;
while (elUsuarioQuieraSeguir()) {
// Invocamos el método cabecera
cabeceraTablaMultiplicar(contador);
tablaDeUnNumero(contador);
// Invocamos el método pie
pieTablaMultiplicar(contador);
contador++;
}
}
static void cabeceraTablaMultiplicar(int contador) {
System.out.println("** INICIO TABLA " + contador + " **");
}
static void pieTablaMultiplicar(int contador) {
System.out.println("** FIN TABLA " + contador + " **\n");
}
static void tablaDeUnNumero(int contador) {
for (int i = 0; i <= 10; i++) {
System.out.println(contador + " x " + i + " = " + contador * i);
}
}
static boolean elUsuarioQuieraSeguir() {
int seguir;
Scanner sc = new Scanner(System.in);
seguir = sc.nextInt();
return seguir == 1 ? true : false;
}
}
Input
1 1 1 0
1 1 1 1 0
Output
** INICIO TABLA 1 ** 1 x 0 = 0 1 x 1 = 1 1 x 2 = 2 1 x 3 = 3 1 x 4 = 4 1 x 5 = 5 1 x 6 = 6 1 x 7 = 7 1 x 8 = 8 1 x 9 = 9 1 x 10 = 10 ** FIN TABLA 1 **
** INICIO TABLA 1 ** 1 x 0 = 0 1 x 1 = 1 1 x 2 = 2 1 x 3 = 3 1 x 4 = 4 1 x 5 = 5 1 x 6 = 6 1 x 7 = 7 1 x 8 = 8 1 x 9 = 9 1 x 10 = 10 ** FIN TABLA 1 **

