Java передать в строку и вернуть строку - PullRequest
0 голосов
/ 05 марта 2011

Кто-нибудь сможет мне помочь, пожалуйста?

Если у меня есть такой класс

public class a {

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

}

}

Когда я звоню a f = new a();

f.b();

Мне не удалось вернуть строку d. Я получаю сообщение об ошибке "не может быть применено к ()"

Я уверен, что делаю что-то глупое, но я не могу решить это.

Ответы [ 8 ]

6 голосов
/ 05 марта 2011

Вы имеете

public String b (String c){

, но вызываете b () без каких-либо параметров.Это то, что ошибка хочет сказать вам ...

3 голосов
/ 05 марта 2011

метод b принимает параметр. так что попробуй

f.b("some string c");
2 голосов
/ 05 марта 2011

Добавьте ... к объявлению параметра вашего метода.Это сделает параметр String необязательным.

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

, а затем new a().b().

2 голосов
/ 05 марта 2011

Вы должны вызывать как

f.b(aStringVariable);

или

f.b("Some String");

Вы должны передать переменную при вызове функции.

2 голосов
/ 05 марта 2011

Ваш метод b требует, чтобы в него была передана строка.

Когда вы вызываете f.b(), он ищет метод с сигнатурой, похожей на

public String b(){
 // your code
}
1 голос
/ 05 марта 2011

Вы передаете строку c в ваш метод b

public String b (String c)

вы получаете эту ошибку, потому что должна быть строковая переменная типа

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

Где c - некоторая предопределенная строка.

1 голос
/ 05 марта 2011

Когда вы вызываете f.b(), вы не передаете строку в метод. Вы объявили свою функцию как public String b(String c). Это означает, что вы должны передать строку при вызове f.b.

Если вы измените свое объявление на public String b(), вам не нужно передавать строку. Другое решение - просто передать строку, т.е. f.b("a string").

0 голосов
/ 06 марта 2011

Используйте строковый параметр, и он будет работать: f.b("String")

...