Loading...
Kristianchooy avatar Kristianchooy 59 Точки

10. Extract Middle Elements - проблем с методите

здравейте!

задачата без методи я решавам и взимам 100/100 , но се опитах с методи да я реша, и всичко се преобърна.. пише ми "Cannot implicitly convert type  ' string ' to ' int ' .Проблема се явява при return-ването на метода , някой някаква идея как да го фиксирам ? 

 ето кода : http://pastebin.com/DUeqpTpg

Arrays - Lab - 10. Extract Middle Elements

 

Тагове:
0
Programming Fundamentals
Nikola_Andreev avatar Nikola_Andreev 671 Точки
 var result = middle + ", " + middleplus1;

Ето тук резултата ти е стринг. Като събереш стринг с интеджер се получава стринг, а метода ти очква да му върнеш инт и затова дава грешка. Имаш го и на още един ред същия проблем.

0
27/07/2016 18:07:53
AntyfrizZz avatar AntyfrizZz 238 Точки

Здравей,

 

Условието не го потърсих и се опитах по кода ти да се ориентирам какво се изисква в задачата.

В if-а и в else телата се опитваш да върнеш string, в else if-а връщаш int. Трябва да промениш return type-а на метода на стринг и с него в else if-а да връщаш стринг.

Съветвам те да си подреждаш кода и може би малко по - добри имена на променливите. middleplus1 не е ок.

 

Поздрави!

0
vancho avatar vancho 430 Точки

var result = middle + ", " + middleplus1 + ", " + middleminus1; - Това ти връща стринг, понеже конкатенираш ", " !

0
27/07/2016 18:11:16
Kristianchooy avatar Kristianchooy 59 Точки

добре , когато метода го направя да е стринг пък ми дава грешка при if else (той връща int ) следователно за if else друг метод ли трябва да направя ?

0
vancho avatar vancho 430 Точки

Незнам условието на задачата, ама до колкото схванх, тук: var result = middle + ", " + middleplus1 + ", " + middleminus1; трябва да върнеш три елемента, така ли? Гледам, че връщаш int. Ами направи го (метода) да връща int[] масив. И в този случай ще връщаш int[] от три елемента int[] arr = new int[]{middle, middleplus1 ,middleminus1};

-1
27/07/2016 19:25:00
AntyfrizZz avatar AntyfrizZz 238 Точки

Здравей,

 

Варианти:

1) return arr[0].ToSring();

2) return $"{arr[0]}";

3) return string.Format("{0}", arr[0])

 

Поздрави!

0
28/07/2016 09:00:24
vancho avatar vancho 430 Точки

Ок, ама на колегата, който пита пиши, а не на мен.

-1
28/07/2016 09:27:20
ivan_danov avatar ivan_danov 4 Точки

Разгледайте решението на задачата на колегата.  Много показателно е точно в неговото решение защо не трябва да се ВАРОСВА  навсякъде за щяло и нещяло.  Тъй като е варосал всичко реално незнае какво ще му връща метода. В зависимост от проверките веднъж връща стринг веднъж инт . А методът му трябва да връща само инт. Логиката цялостно е збъркана в задачата дори да си оправи метода  няма да работи правилно. 

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.