Un par de veces ya me he encontrado con momentos en los que los estudiantes no comprenden la lógica de la interacción entre métodos. En una de las preguntas de las tareas, se proporcionó el siguiente código:
public class Solution {
public static void main(String[] args) {
System.out.println(convertCelsiusToFahrenheit(41));
}
public static double convertCelsiusToFahrenheit(int celsius) {
double TC = 41;
double TF = 9 / 5.0 * TC + 32;
return TF;
}
}
De hecho, siguiendo este código, no importa qué valor le pasemos al método convertCelsiusToFahrenheit
, siempre obtendremos el mismo resultado. ¿Cómo debe tener lugar la interacción? Imaginemos que estás tú. Tienes algo de dinero y quieres comprar una consola, sabiendo el precio. Pero te apasiona tanto aprender Java que no tienes tiempo para comprar una consola.
public static void main(String[] args) {
Pero tienes un amigo que tiene tiempo y le encanta pasear por las tiendas.
public static String friendVasya(int money) {
int price = 300;
En este caso, creé un método friendVasya
con un tipo de retorno String
; en su lugar, podrías configurar cualquier otro tipo de datos, todo depende de lo que finalmente quieras obtener. Cuando el método se ejecute, friendVasya
recibirá la cantidad de dinero que especifiques en el argumento ( int money
). El amigo de Vasya puede tener muchos asuntos o necesidades propios, describiríamos todo esto en el método friendVasya
, pero solo nos interesa si nos comprará una consola. Así que agreguémosle esta característica.
public static String friendVasya(int money){
int cash = money - price;
String purchase;
Y en consecuencia, puede que haya suficiente dinero o puede que no sea suficiente. Implementemos diferentes respuestas para estas situaciones.
public static String friendVasya(int money){
int price = 300;
int cash = money - price;
String purchase;
if (cash>=0){
purchase = "Купил";}
else{
purchase = "Этого мало. Где деньги, Лебовски?";}
return String.format(purchase);}
Como resultado de llamar al método friendVasya
y pasarle dinero en forma de argumento de dinero, podremos comprar una consola o descubrir que no hay suficiente dinero para la compra. Sólo queda agregar una llamada a este método en el código del programa, indicando cuánto dinero estás dispuesto a dar por la consola /*en este caso serán 500 */:
public static void main(String[] args) {
System.out.println(friendVasya(500));
Código completo:
public class Game {
public static void main(String[] args) {
System.out.println(friendVasya(500));
}
public static String friendVasya(int money){
int price = 300;
int cash = money - price;
String purchase;
if (cash>=0){
purchase = "Купил";}
else{
purchase = "Этого мало. Где деньги, Лебовски?";}
return String.format(purchase);
}
}
De hecho, la esencia de todo este código es:
- Lanzando
main
y activando el métodoSystem.out.println
// Quería una consola, conocí a un amigo; - pasó un argumento
int money = 500
// Transferió dinero a un amigo; - iniciar el método
friendVasya
y procesar el argumentoint money
recibido del métodomain
// Vasya va a la tienda e intenta comprar un decodificador con el dinero dado; - regresar
String purchase
al métodomain
como un argumento pasadoreturn
al métodoprintln
// Vasya informa si logró hacer esto o no.
GO TO FULL VERSION