A voir également:
- Java system.out.println
- Waptrick java football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Jeux java itel football - Télécharger - Jeux vidéo
- Jeux java itel 5360 ✓ - Forum Mobile
- Java jre - Télécharger - Langages
2 réponses
arth
Messages postés
9374
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 291
20 sept. 2008 à 21:36
20 sept. 2008 à 21:36
Bonsoir,
Cela est tout à fait normal.
En effet la fonction System.out.println doit afficher quelque chose donc une vrai variable avec un valeur non null.
Ici l'erreur te dit void type is not allowed here, ce qui est normal puisque tu lui fait directement System.out.println(calcul.calc()) .
OR calcul.calc() ne retourne aucun résultat ou variable si tu préfères qui puisse être affiché du genre un entier ou une String, puisque la fonction calc() est définie en public void et non en public String calc() ou encore public int calc() par exemple.
Tu ne peux pas faire non plus : int resultat = calc(arg a); puisque calc() comme dit plus haut est définie en VOID.
Donc au lieu de mettre public void calc(arg a), remplace ceci par public int calc(arg a) ou encore int par le type de variable qui doit être retourné. ET ne pas oublier de faire un return.
Pour récapituler et par exemple :
public class calcul
{
int a = 10;
public calcul()
{
.......
System.out.println("Résultat de l'opération : "+calc(a));
}
public int calc(int parameter)
{
System.out.println("On ne fait que retourner comme résultat la valeur de l'entier passé en paramètre");
return parameter;
}
}
Voilà j'espère que tu auras compris et si tu as des questions n'hésite pas.
Cela est tout à fait normal.
En effet la fonction System.out.println doit afficher quelque chose donc une vrai variable avec un valeur non null.
Ici l'erreur te dit void type is not allowed here, ce qui est normal puisque tu lui fait directement System.out.println(calcul.calc()) .
OR calcul.calc() ne retourne aucun résultat ou variable si tu préfères qui puisse être affiché du genre un entier ou une String, puisque la fonction calc() est définie en public void et non en public String calc() ou encore public int calc() par exemple.
Tu ne peux pas faire non plus : int resultat = calc(arg a); puisque calc() comme dit plus haut est définie en VOID.
Donc au lieu de mettre public void calc(arg a), remplace ceci par public int calc(arg a) ou encore int par le type de variable qui doit être retourné. ET ne pas oublier de faire un return.
Pour récapituler et par exemple :
public class calcul
{
int a = 10;
public calcul()
{
.......
System.out.println("Résultat de l'opération : "+calc(a));
}
public int calc(int parameter)
{
System.out.println("On ne fait que retourner comme résultat la valeur de l'entier passé en paramètre");
return parameter;
}
}
Voilà j'espère que tu auras compris et si tu as des questions n'hésite pas.
22 sept. 2008 à 10:25
Merci beaucoup, c'est très gentil de ta part de répondre.
OK, j'ai compris ma faute, mais le problème est que ma méthode peut retourné des résultats avec des types différents? c'est pour cette raison que j'ai pensé d'utiliser 'void'.
Merci.
22 sept. 2008 à 13:33
calc(String string)
calc(int integer)
etc ...
Une seule fonction pour un seul type de dopnnées.
Mais tu peux très bien faire plusieurs fonctions calc mais avec un paramétrage différent, un coup une String, un coup un int comme j'ai écrit plus haut.
23 sept. 2008 à 12:33
je vais voir avec les types retournés.
Merci.