2016-09-18 6 views
-2

Я должен принимать все пользовательские данные из метода void (хотя важно отметить, что в оригинальной формулировке указано, что метод не должен иметь возвращаемого значения), и все выходные данные будут отнесены к отдельному методу.Как получить возвращаемое значение из под-метода

Теперь у меня есть все, что настроено, и он передает соответствующий массив методу sub просто отлично (потому что я вызываю метод sub из метода void). Но мне нужно, чтобы на самом деле остальная часть вызова использовала значение этого вспомогательного метода другими способами.

Подробное объяснение и обучение будут глубоко оценены.

+1

Похоже, вам нужно разбить еще несколько методов, чтобы захватить пользовательский ввод из метода void. Вы можете использовать 'this.variable = variable', чтобы назначить вход пользователя (переданный через аргумент), чтобы сохранить вход пользователя в переменную объекта. Затем напишите 'getVariable()' метод, чтобы получить состояние этой переменной от объекта. Не показывая пример кода, этот вопрос очень расплывчато и трудно ответить. –

ответ

0

Если у вас есть возможность изменить подпись методов (сохраняя тип возврата как недействительный), вы можете передать другую структуру данных методам. Таким образом, вы можете получить пользовательские входы внутри метода GetUserInput (customDataStruct), передать его методу SubMethod (customDataStruct). SubMethod() изменит содержимое customDataStruct, которое будет доступно непосредственно в main(), если main() вызывает GetuserInput().

Второй вариант, как предлагается @Fiddle, - использовать глобальную переменную и позволить методам манипулировать ею. Эта глобальная переменная должна быть доступна из main().

+0

В Java нет глобальных переменных. Вы имеете в виду переменные-члены? – Robert

+0

@Rober, «global», я имел в виду переменную, которая доступна на уровне приложения, а не члены класса. например объявить переменную в классе, который использует метод main(), и передать эту переменную туда, где это необходимо, и т. д. – DevdattaK

0

У меня было это перевернуто. Путем того, чтобы метод void был вспомогательным методом, и действительно учился проходить по ссылке (наслаждайтесь ударом головы). Я смог использовать метод с возвратом, чтобы вернуть значение к основному.

+0

Пожалуйста, отредактируйте (или удалите) свой вопрос, а не отправляйте ответы без ответа. – Robert

Смежные вопросы