Impossible de convertir de vide à Chaîne
De la classe du pilote:
String world = methods.printHelloWorld("Hello, world!");
{
System.out.println(world);
}
méthode de classe:
public void printHelloWorld(String world)
{
world = "Hello, world!";
}
Invite: (partie d'un projet plus vaste)
vide printHelloWorld()
Paramètres: aucun
Retour rien. Directement imprime au Système.la Chaîne "Hello, world!"
J'obtiens le message d'erreur que je ne peut pas convertir de void
à String
. Je ne peux pas utiliser un retour dans ma méthode de classe. Je sais que je peux changer public void printHelloWorld(String world)
to public String printHelloWorld(String world)
, mais ce n'est pas ce que mon professeur veut que nous fassions. (J'ai essayé ceux déjà)
- Pourquoi ne pas simplement appeler la méthode sans l'affecter à quelque chose?
- Astuce: Passage par Valeur vs Passez par Référence. stackoverflow.com/questions/373419/...
Vous devez vous connecter pour publier un commentaire.
L'exception est très clair: Vous ne pouvez pas convertir de void à la Chaîne.
C'est comment vous pouvez obtenir ce que vous essayez de faire:
Puis
Vous ne pouvez pas convertir un
String
car il n'y a rien à convertir. Un type de retour devoid
signifie "ne retourne pas de valeur".Aussi, vous pouvez affecter des valeurs à l'intérieur d'une méthode à un paramètre formel tout ce que vous voulez (sauf si elle est déclarée
final
) et cela ne va pas changer la valeur du paramètre effectif est utilisé dans l'appel à la méthode.Peut-être que vous essayez de le faire:
et
Vous pouvez ensuite les imprimer à l'intérieur de la méthode elle-même. Quelque chose comme:
dans la méthode de la Classe ont
dans la classe du pilote
Votre méthode doit renvoyer la Chaîne de
ou tout Simplement
Cheers !!