La fonction return

Résolu/Fermé
Grosprobleme - 23 oct. 2013 à 18:28
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 - 23 oct. 2013 à 18:53
Bonjour,

voila je suis jeune étudiant en informatique et nous étudions le programme Java.
Nous etudions plus particulièrement les fonctions (dont return) et je suis face à un problème.
En effet je souhaite convertir des celcius en farahneit. La formule est la suivant : f=9c/5 + 32.
mon en-tete serait donc :
static double celcius_en_farahneit(double c, double f){

return f= 9c/5 +32;
Or il me semble que nous n'avons pas le droit de retourner une fonction en lui mettant le signe = donc comment faire?

Merci d'avance


1 réponse

ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
23 oct. 2013 à 18:31
return
retourne la valeur qu'on lui donne,
return 42;
quitte la fonction et revoie donc 42.
return f= 9c/5 +32;
n'est pas possible, c'est
return 9*c/5.0 +32;
que tu cherches.
Java c'est pas pil poil comme l'algorithmique sur le papier; un tour sur Google te permettra d'appendre ce qu'on appelle la syntaxe de Java.
1
Grosprobleme1 Messages postés 4 Date d'inscription mercredi 23 octobre 2013 Statut Membre Dernière intervention 28 octobre 2013
23 oct. 2013 à 18:38
Je te remercie énormément ça marche niquel :)
0
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019
23 oct. 2013 à 18:53
Quelques remarques complémentaires :

1) Un peu de vocabulaire : on ne parle pas de fonction en Java, mais de méthodes. Et ce que tu appelles "en-tete" s'appelle la "signature de type" (type signature en anglais)

2) Dans ta signature de méthode ton
f
ne sert à rien. La méthode prend un seul argument en entrée (la température en degrés Celsius), la référence au résultat se fait dans le type de retour.

3) Il y a des conventions de nommages en Java, mais elles ont beau être facultatives, il vaut mieux prendre de bonnes habitudes dès le départ, ça te permettra de mieux comprendre aussi.
Par exemple "celcius_en_farahneit" n'est pas un nom de méthode valide en Java. Il faut enlever les tirets et mettre en majuscule la première lettre de chaque mot (sauf le premier). Ce qui donnerait "celciusEnFahrenheit". Dans le même genre d'idée il vaut mieux donner un nom explicite aux paramètres des méthodes, car ils servent ensuite à la documentation automatique.

Avec les remarques de gravgun quant au corps de la méthode, ça donne donc au final :

public static double celciusEnFahrenheit(double celsius)
{
return 1.8*celcius+32;
}
0