2011-03-05 64 views
0

有人能帮助我吗?Java传入字符串并返回字符串

如果我有这样的

public class a { 

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

} 

} 

类当我打电话a f = new a();

f.b(); 

我不能有串d返回。我得到的错误“不能应用于()”

我敢肯定我在做一些愚蠢的事情,但我无法解决它。

+0

你在你的方法中使用c? – foosion 2011-03-05 16:46:40

+1

如果以下答案中的任何一个给出了解决方案,请接受其中之一。否则,请提供更多信息,我相信社区将继续尝试和帮助您。 – 2011-03-05 17:07:25

回答

2

您的方法b需要传入一个字符串。

当你调用f.b()它看起来具有类似的签名的方法

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

我传递了另一个类的字符串,是我不可能做到的吗? – James 2011-03-05 16:42:50

+4

根据你给我们的代码,你根本没有传递字符串。 – 2011-03-05 16:45:35

3

方法b需要一个参数。所以尽量

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

我从另一个类传入一个字符串,是我不可能做到的吗? – James 2011-03-05 16:43:21

+0

@詹姆斯其他班,你可以发布代码? – 2011-03-05 16:45:47

6

你有

public String b (String c){ 

而是调用B()不带任何参数。这是错误想要告诉你什么...

2

你必须调用像

f.b(aStringVariable); 

f.b("Some String"); 

你必须传递变量而调用该函数。

2

...添加到您的方法参数声明中。这将使参数String可选。

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

然后new a().b()

1

当您拨打f.b()时,您并未向该方法传递字符串。你宣布你的功能为public String b(String c)。这意味着当你拨打f.b时,你必须传递一个字符串。

如果您将声明更改为public String b(),则不必传递字符串。 另一种解决方案是简单地传递一个字符串,即f.b("a string")

1

你传入字符串C到您的B法

public String b (String c) 

您获得的错误,因为需要有一个字符串变量一样

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

其中c是一些预定义的字符串。

0

使用一些字符串参数,它会工作:f.b("String")