À plusieurs reprises, j'ai déjà rencontré des moments où les étudiants ne comprenaient pas la logique de l'interaction entre les méthodes. Dans l'une des questions des tâches, le code suivant a été donné :
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;
}
}
En fait, en suivant ce code, quelle que soit la valeur que nous transmettons à la méthode convertCelsiusToFahrenheit
, nous obtiendrons toujours le même résultat. Comment doit se dérouler l’interaction ? Imaginons que vous soyez là. Vous avez un peu d'argent et souhaitez acheter une console en connaissant le prix. Mais vous êtes tellement passionné par l’apprentissage de Java que vous n’avez pas le temps d’acheter une console.
public static void main(String[] args) {
Mais vous avez un ami qui a du temps et qui adore flâner dans les magasins.
public static String friendVasya(int money) {
int price = 300;
Dans ce cas, j'ai créé une méthode friendVasya
avec un type de retour String
, à la place vous pouvez définir n'importe quel autre type de données, tout dépend de ce que vous voulez finalement obtenir. Lorsque la méthode s'exécute, friendVasya
elle recevra le montant d'argent que vous spécifiez dans l'argument ( int money
). L'ami de Vasya a peut-être beaucoup de ses propres affaires ou besoins, nous décrirons tout cela dans la méthode friendVasya
, mais nous ne nous intéressons qu'à savoir s'il nous achètera une console. Alors ajoutons-lui cette fonctionnalité.
public static String friendVasya(int money){
int cash = money - price;
String purchase;
Et par conséquent, il se peut qu’il y ait assez d’argent, ou qu’il n’y en ait pas assez. Mettons en œuvre différentes réponses à ces situations.
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);}
En appelant la méthode friendVasya
et en lui transmettant de l'argent sous la forme d'un argument monétaire, nous pourrons acheter une console ou découvrir qu'il n'y a pas assez d'argent pour l'achat. Il ne reste plus qu'à ajouter un appel à cette méthode dans le code du programme, en indiquant combien d'argent vous êtes prêt à donner pour la console /*dans ce cas ce sera 500 */ :
public static void main(String[] args) {
System.out.println(friendVasya(500));
Code complet :
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);
}
}
En fait, l’essence de tout ce code est la suivante :
- Lancement
main
et activation de la méthodeSystem.out.println
// Je voulais une console, j'ai rencontré un ami ; - passé une dispute
int money = 500
// Transféré de l'argent à un ami ; - lancer la méthode
friendVasya
et traiter l'argumentint money
reçu de la méthodemain
// Vasya se rend au magasin et essaie d'acheter un décodeur avec l'argent donné ; - revenir
String purchase
à la méthodemain
comme argument passéreturn
à la méthodeprintln
// Vasya indique s'il a réussi ou non à le faire.
GO TO FULL VERSION