0

Вот тут вопрос:

name же нигде не объявлен. Как компилятор понимает, что надо подставить David и Amy? Не пойму я...

4th Mar 2019, 10:56 AM
Igor
Igor - avatar
12 Answers
+ 2
Igor, при вызове метода: sayHello("David"); метод присваивает переменной name значение "David" и уже с ней дальше работает. Сам метод выглядит как: ... sayHello(String name){ ... } И любое текстовое значение в sayHello() воспринимается как name.
4th Mar 2019, 11:19 AM
M_N
+ 1
До вызова метода ты создаёшь: String male_name = "David"; String female_name = "Amy"; А когда вызываешь метод - передаёшь значения: methodName(male_name, female_name){ return something; }
4th Mar 2019, 11:09 AM
M_N
+ 1
Igor, если метод изменишь на: sayHello(String first_name, String second_name){ ... } Вызывать его сможешь как: sayHello("David", "Amy");
4th Mar 2019, 11:33 AM
M_N
+ 1
Igor, ошибка и будет, так как в System.out.print() ты не вносил изменения и метод обращается к name которого нет. --- sayHello(String first_name, String second_name){ System.out.print("Hello " + first_name + " and " = second_name); } ---
4th Mar 2019, 11:51 AM
M_N
+ 1
Igor, из sayHello() убери все '.' Между "David" и "Amy" может быть лишь ',' ---- class MyClass { static void sayHello(String first_name, String second_name) { System.out.println("Hello " + first_name + " and " + second_name); } public static void main(String[ ] args) { sayHello("David", "Amy"); } }
4th Mar 2019, 1:15 PM
M_N
+ 1
Igor, имена и объекты отделяются запятой. Просто сравни мой код и свой.
4th Mar 2019, 2:37 PM
M_N
0
Да, но в примере ничего этого нет. И код работает: class MyClass { static void sayHello(String name) { System.out.println("Hello " + name); } public static void main(String[ ] args) { sayHello("David"); sayHello("Amy"); }
4th Mar 2019, 11:13 AM
Igor
Igor - avatar
0
чуднО. Не знал, спасибо
4th Mar 2019, 11:25 AM
Igor
Igor - avatar
0
Поверю на слово). Не получилось проверить, ошибки(
4th Mar 2019, 11:43 AM
Igor
Igor - avatar
0
Я хоть пока и глуп, но все же не настолько). System.out.println я изменил, но все равно так не получается: class MyClass { static void sayHello(String.first_name.String.second_name) { System.out.println("Hello" + first_name + "and" + second_name); } public static void main(String[ ] args) { sayHello("David". "Amy"); } }
4th Mar 2019, 12:07 PM
Igor
Igor - avatar
0
ну не получается, и все тут... class MyClass { static void sayHello(String.first_name String.second_name) { System.out.println("Hello" + first_name + "and" + second_name); } public static void main(String[ ] args) { sayHello("David"."Amy"); // ошибка вот тут(( } }
4th Mar 2019, 2:29 PM
Igor
Igor - avatar
0
Понял. Благодарю за терпение. На экране компа непонятно было запятая или точка. В телефоне сразу все увидел
4th Mar 2019, 3:12 PM
Igor
Igor - avatar