Algumas vezes já me deparei com momentos em que os alunos não entendem a lógica de interação entre os métodos. Em uma das questões das tarefas, foi fornecido o seguinte 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;
}
}
Na verdade, seguindo este código, não importa qual valor passemos para o método convertCelsiusToFahrenheit
, sempre obteremos a mesma saída. Como deve ocorrer a interação? Vamos imaginar que existe você. Você tem algum dinheiro e quer comprar um console, sabendo o preço. Mas você é tão apaixonado por aprender Java que não tem tempo de comprar um console.
public static void main(String[] args) {
Mas você tem um amigo que tem tempo e adora passear pelas lojas.
public static String friendVasya(int money) {
int price = 300;
Nesse caso, criei um método friendVasya
com um tipo de retorno String
; em vez disso, você pode definir qualquer outro tipo de dados, tudo depende do que você deseja obter. Quando o método for executado, friendVasya
ele receberá a quantia de dinheiro que você especificou no argumento ( int money
). O amigo de Vasya pode ter muitos assuntos ou necessidades próprias, descreveríamos tudo isso no método friendVasya
, mas só estamos interessados em saber se ele nos comprará um console. Então, vamos adicionar esse recurso a ele.
public static String friendVasya(int money){
int cash = money - price;
String purchase;
E, conseqüentemente, pode haver dinheiro suficiente ou pode não haver dinheiro suficiente. Vamos implementar respostas diferentes para essas situações.
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 da chamada do método friendVasya
e da transferência de dinheiro para ele na forma do argumento do dinheiro, poderemos comprar um console ou descobrir que não há dinheiro suficiente para a compra. Resta apenas adicionar uma chamada a este método no código do programa, indicando quanto dinheiro você está disposto a dar pelo console /*neste caso será 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);
}
}
Na verdade, a essência de todo esse código é:
- Iniciando
main
e ativando o métodoSystem.out.println
// Queria um console, conheci um amigo; - passou uma discussão
int money = 500
// Transferiu dinheiro para um amigo; - lançando o método
friendVasya
e processando o argumentoint money
recebido do métodomain
// Vasya vai até a loja e tenta comprar um decodificador com o dinheiro dado; - retornando
String purchase
ao métodomain
como um argumento passadoreturn
para o métodoprintln
// Vasya relata se conseguiu fazer isso ou não.
GO TO FULL VERSION