2011-03-05 62 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")