Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

Pafo37 avatar Pafo37 21 Точки

Pokemon Trainer[Java OOP]

Ще ми трябва малко помощ относно задачата.Това е кода - http://pastebin.com/Q0SthWNc .И имам няколко въпроса.Първо защо като въведа нулевият тест ми пропуска 1-вия ред и 3-тия ако не се лъжа и после ми гърми защото е indexOutOfBoundary,но това е защото while цикъла не спира когато readera е равен на Tournament(не знам защо ).По условието искат треньора да има колекция от покемони, разбирам го List от покемони.В главната програма правя два Lista, в който запазвам покемоните и треньорите и после идеята ми беше по някакъв начин да получа достъп до името на елемента на покемона и дали е равно на това, което се въвежда от конзолата, но не мога да го направя.Също така треньорите имат име, баджове и колекция от покемони и в началото всеки има по 0 баджове.Правилно ли съм направил конструктура, защото не съм сигурен дали е така.Като цяло това са ми въпросите, имам доста неясни неща, но няма друг начин да ги науча освен да питам тук.

Тагове:
0
C# OOP Basics
Alex0101 avatar Alex0101 374 Точки

Първото , което видях е, че четеш ред в while и после четеш друг, реално пропускаш ред през един. Пробвай да изнесеш четенето в стринг и да четеш точно 1 път на итерация. Четеш преди while в стринг , проверяваш стринга , ако е ок влизаш в цикъла и обработваш този инпут. След това минава логиката и накрая четеш пак, ако е ок завърташ пак цикъла и така.

0
27/06/2016 18:18:16
Pafo37 avatar Pafo37 21 Точки

Разбрах ти идеята, донякъде, но не напълно.Пропуска през едно защото и във 2-рия цикъл чета.Как тогава да го направя, тази част не ти разбрах?

0
27/06/2016 18:53:17
Alex0101 avatar Alex0101 374 Точки
while(!reader.readLine().equals("Tournament")){   <-----readline
            String[] information=reader.readLine().split(" ");  <-----readline
            //somecode
        }
        while(!reader.readLine().equals("End")){    <------readline
            String element=reader.readLine();       <------readline
            //some code
            }

На тези места метеш от конзолата. 

Аз бих го заменил със следното.

String input=reader.readLine();  //<-----readline
while(!input.equals("Tournament")){   // <-----check
            String[] information=input.split(" ");  //<-----use already red data
            //somecode
          input=reader.readLine();  //<--update
        }
        input=reader.readLine(); //<-----readline
        while(!input.equals("End")){    //<------check
            String element=input;       //<-----use already red data
            //some code
         input=reader.readLine(); // <--update

            }

Възприемай го като псевдокод, защото нямам компилатор пред себе си.

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

0
Pafo37 avatar Pafo37 21 Точки

Окей това го оправих, но по-важното самата задача, не знам как да я довърша.

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