01. Compare Matrices - Проблем при ParseInt
Здравейте,
решавам една задача от урока "Dimensional Arrays" и кодът ми се чупи при парсването. Интересното е, че когато пиша инпута на ръка висичко върви гладко. Когато го копирам от уърдовския файл се чупи на 41-ви ред. В джъд също дава 0/100 и runtime error. Някой може ли да види защо се получава така?
https://pastebin.com/hycAdbbK
Благодаря предварително!
Здравей!
Благодаря за отговора. Същата задача е, но разликата е там, че изтеглих домашните от есенната лекция. Може да има малко разминаване, което отново не ми дава отговор на въпроса: "Защо така се чупи, на парсването?". Ще пробвам, твоето предложение да изнеса всеки инпут в метода array. Може вчера Intellij да му е писнало от мен :)
Благодаря още веднъж!
ПП:
Туко що го изведох в метода, и сега и при него ми дава проблем с парсването. Явно по някаква причина не иска да чете и парсва в метода. Интересното отново е, че когато пиша инпута на ръка - работи. Когато го копирам целия от файла или пусна в джъдж - гърми.
ПП2:
Изкарах ги от метода и сега няма проблеми...Определено е имал проблем с парсването в метода, по някаква причина. https://pastebin.com/3u71ab3q
Използвай една инстанция на Scanner за един източник. Като я предаваш към метода или я правиш достъпна в контекста, в който е нужна.
Ти създаваш конкурентен Scanner, за същия източник. При подаване ред по ред те спасява това, че едната инстанция не се опитва да консумира нов инпут от общия източник.
Но при подаване на няколко реда наведнъж в конзолата, първата инстанция реагира, тригерирана от един юзер инпут. Без да се интересува от последваща логика в кода, която ще я накара да даде предимство на новосъздадения конкурентен консуматор за следващ инпут.
Общо взето имаш работник, занимаващ се с определена дейност. Даваш му на куп работа занапред(няколко реда наведнъж). Той я приема, но все още не я изпълнява, защото не си му наредил. Наемаш втори работник за същата дейност и му казваш да приеме част от вече приетата работа на първия и да я изпълни. Той се опитва, но няма какво да приеме- тя вече приета от първия работник.
При ред по ред, ти нареждаш на първия работник да приема и обработва задача по задача. След това даваш и на втория задача, която да приеме и обработи, докато на първия не му наредено да приема.
Работата и на двамата работници е да получат задачи за изпълнение от един и същи източник. Но при подаването на задача по задача може да се определи, кой ще приеме всяка на база на това дали чака за такава. А при получаването на задачите наведнъж в началото, при отсъствието на втория, ще накара първия да ги приеме всичките.