2011-03-05 2 views
0

Quelqu'un pourrait-il m'aider s'il vous plaît?Java passer dans la chaîne et la chaîne de retour

Si j'ai une classe comme ce

public class a { 

public String b (String c){ 
String d = "e"; 
return d; 

} 

} 

Quand j'appelle a f = new a();

f.b(); 

Je suis incapable d'avoir la chaîne d retourné. Je reçois l'erreur "ne peut pas être appliqué à()"

Je suis sûr que je fais quelque chose de stupide, mais je ne peux pas le résoudre.

+0

Utilisez-vous c dans votre méthode? – foosion

+1

Si l'une des réponses ci-dessous vous a fourni la solution, veuillez en accepter une. Sinon, donnez plus d'informations et je suis sûr que la communauté continuera à essayer de vous aider. –

Répondre

2

Votre méthode b nécessite la transmission d'une chaîne.

Lorsque vous appelez f.b() il recherche une méthode avec une signature similaire à

méthode
public String b(){ 
// your code 
} 
+0

Je passe une corde d'une autre classe, est-ce que ce que je fais n'est pas possible? – James

+4

Selon le code que vous nous avez donné, vous ne passez pas une chaîne du tout. –

3

b prend un paramètre. alors essayez

f.b("some string c"); 
+0

Je passe dans une corde d'une autre classe, est ce que je fais pas possible? – James

+0

@James quelle autre classe, pouvez-vous poster le code? –

6

Vous avez

public String b (String c){ 

mais appelez b() sans aucun paramètre. C'est ce que l'erreur veut vous dire ...

2

Vous devez appeler comme

f.b(aStringVariable); 

ou

f.b("Some String"); 

Vous devez passer la variable tout en appelant la fonction.

2

Ajoutez ... à la déclaration de paramètre de méthode. Cela rendra le paramètre String facultatif.

public String b (String... c){ 
    String d = "e"; 
    return d; 
} 

puis new a().b().

1

Lorsque vous appelez le f.b(), vous ne transmettez pas de chaîne à la méthode. Vous avez déclaré votre fonction comme public String b(String c). Cela signifie que vous devez passer une chaîne lorsque vous appelez f.b.

Si vous modifiez votre déclaration à public String b(), vous n'avez pas besoin de passer une chaîne. Une autre solution consiste simplement à passer une chaîne, par exemple f.b("a string").

1

Vous passez chaîne c dans votre méthode b

public String b (String c) 

vous obtenez cette erreur, car il doit y avoir une variable de chaîne comme

a f = new a(); f.b(c); 

Où c est une chaîne prédéfinie.

0

Utilisez un paramètre de chaîne et cela fonctionnera: f.b("String")

Questions connexes