Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / return в методе / 8 сообщений из 8, страница 1 из 1
20.11.2016, 16:45
    #39350530
andron81
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
return в методе
продолжаю изучать JAVA
но я смотрю строго как-то return в функции работает.
если вот так , то работает :
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
public String ferz_search_good_place(int i , int j){

		if (i>7) {i=0; j++;}
		if (j>7) {return "ok";}     
			System.out.print("return="+i+" "+j+" "+this.count);
			System.out.println();	
			System.out.print(ferz_field_full());
			System.out.println();	
			
			write_field();
	
			if (fieled[i][j]==0) {ferz_point_on(i,j,-1); lastI=i; lastJ=j; return ferz_search_good_place(i+1, j); } 
			else {return ferz_search_good_place(i+1, j);}			
				}


а вот скажем вот так уже не работает:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
public String ferz_search_good_place(int i , int j){

		if (i>7) {i=0; j++;}
		if (j>7) {return "ok";}     
			System.out.print("return="+i+" "+j+" "+this.count);
			System.out.println();	
			System.out.print(ferz_field_full());
			System.out.println();	
			
			write_field();
	
			if (fieled[i][j]==0) {ferz_point_on(i,j,-1); lastI=i; lastJ=j; return ferz_search_good_place(i+1, j); } 
			if (fieled[i][j]!=0) {return ferz_search_good_place(i+1, j);}			
				}


а у меня ведь там много будет условий .
Как быть?
...
Рейтинг: 0 / 0
20.11.2016, 17:05
    #39350534
rema174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
return в методе
andron81а у меня ведь там много будет условий .
Как быть?
никак. ошибку искать, или предусмотреть return "по умолчанию".
...
Рейтинг: 0 / 0
20.11.2016, 17:08
    #39350536
andron81
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
return в методе
rema174,

а чего её искать то ?
вот она :
"This method must return a result of type String"
...
Рейтинг: 0 / 0
20.11.2016, 17:09
    #39350537
rema174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
return в методе
andron81rema174,

а чего её искать то ?
вот она :
"This method must return a result of type String"

а смысл слова must хорошо понятен?
...
Рейтинг: 0 / 0
21.11.2016, 07:09
    #39350730
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
return в методе
andron81а у меня ведь там много будет условий .
Как быть?

Учить математику и формальную логику (серьезно).
А так вам во втором случае компилятор говорит, что функция должна ОБЯЗАТЕЛЬНО что-то вернуть.
Но судя по вашим условиям это возможно не всегда.

Просто добавьте в конце "return null;" и все будет норм. ;-)
...
Рейтинг: 0 / 0
21.11.2016, 09:08
    #39350748
andron81
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
return в методе
mad_nazgul
Учить математику


что тут имеется ввиду ? ))
mad_nazgulА так вам во втором случае компилятор говорит, что функция должна ОБЯЗАТЕЛЬНО что-то вернуть.

он странно как-то об этом забоится.
так ему нравится:
Код: java
1.
2.
if (fieled[i][j]==0) {ferz_point_on(i,j,-1); lastI=i; lastJ=j; return ferz_search_good_place(i+1, j); } 
			else {return ferz_search_good_place(i+1, j);}	


а так нет:
Код: java
1.
2.
if (fieled[i][j]==0) {ferz_point_on(i,j,-1); lastI=i; lastJ=j; return ferz_search_good_place(i+1, j); } 
if (fieled[i][j]!=0)  {return ferz_search_good_place(i+1, j);}	



mad_nazgulПросто добавьте в конце "return null;"

у меня рекурсивная функция . я ретурн использовать хотел для выхода из ветки
...
Рейтинг: 0 / 0
21.11.2016, 10:56
    #39350816
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
return в методе
andron81 у меня рекурсивная функция . я ретурн использовать хотел для выхода из ветки
Компиллятору пофиг!
Он не будет разбираться в вашей рекурсии. Добавьте в конец, как вам и советовали
Код: java
1.
   return "";


Или вы надеетесь уговорить компиллятор обойтись без этого?
...
Рейтинг: 0 / 0
21.11.2016, 11:08
    #39350830
andron81
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
return в методе
SQL2008,

да лучше бы вообще не разбирался.

ладно, ответ получен спасибо
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / return в методе / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]