Loading...
shikov81 avatar shikov81 -9 Точки

Нужда от помощ със try-catch задача

Обработка на изключения в try-catch блок.

Това е задачата -Да се направи метод int[] devideArrays(int[] a1, int[] a2), който приема като
параметри 2 масива и връща като резултат масив, като всеки елемент от
новополученият масив е равен на съответният елемент от първия масив,
разделен на съответващият му елемент от втория масив. Чрез обработка на
подходящо изключение, да се записва 0 в новия масив, ако елемента на
който се дели е 0. Да се вземе в предвид и това дали двата масива
подадени като параметри са с различна дължина, като в този случай,
полученият масив е с дължината на по-късият. Метода да е така направен
че в никакъв случай да не се хвърля изключение, т.е. всички изключения,
които възникнат да бъдат обработени (изключителните ситуации да се
обработват с изключение, а не с if клауза). Да се направи и клас с main
метод, където да се пробва използването на метода devideArrays.

Ако може някой да помогне?

 

ModEdit: Моля прочети правилата на форума преда да пускаш нови теми.

Тагове:
0
Общи приказки 02/06/2015 12:04:14
ksevery avatar ksevery 35 Точки

Не виждам защо не можеш просто да си правиш проверките с if-ове, но щом такова ти е условието...

Първо си провери дължините на двата масива и си създай нов със съответната дължина. Оттам нататък извърти един цикъл от 0 до дължината на крайния масив  като вътре си прави разделянето. Като трябва да ползваш хващане на Exception-и, правиш един try-catch блок при делението и хващаш DivideByZeroException. При хващането му в catch блока просто задаваш на съответния индекс в новия масив 0. 

Накратко това ти е логиката, имаш да мислиш за дължината на масивите и за делението реално. Имаш един if за дължините и един try-catch блок за делението.

Поздрави,
Константин

 

1
shikov81 avatar shikov81 -9 Точки

Бих помолил ако може някакъв пример.Благодаря предварително.

0
ksevery avatar ksevery 35 Точки

https://dotnetfiddle.net/MvZSNS

Разписано накратко, това мисля че търсиш. Не е нещо сложно, но все пак питай ако нещо не ти е ясно.

 

0
shikov81 avatar shikov81 -9 Точки

Много благодаря:))

0
mgulubov avatar mgulubov 73 Точки

Аз не виждам, какъв Exception може да ти хвърли сравнението на елементите. А ако не знаеш, при каква операция, има вероятност да се счупи нещо, то трябва да поставяш try-catch на всеки израз. That being said, ако поставиш целия алгоритъм, от началото на метода, до края, в try-catch, зададеш му да хваща универсалния Exception и му кажеш да връща празен масив, ако нещо се счупи, то Exception няма да видиш от този метод. Друг е въпроса, дали реално ще върши някаква работа.

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