Премини към съдържанието

Препоръчан отговор


Здравейте искам да попитам някои може ли да ми даде пример как да искарам Pc извън for loopa 

 

		for (L2PcInstance pc : L2World.getInstance().getPlayers())
		{
			if (pc.isOnline() && ((pc.getClient() != null) && !pc.getClient().isDetached()))
			{
				Object[] rowData = new Object[]
				{
					pc.getAccountName(),
					pc.getId(),
					pc.getName(),
					pc.getLevel(),
					pc.getCurrentHp(),
					pc.getCurrentMp(),
					pc.getCurrentCp(),
					pc.getPvpKills(),
					pc.getPkKills(),
					pc.getBaseClass(),
					pc.getCreateDate()
				};
				model.addRow(rowData);
			}
			
		}

Пробвах много неща но грешка и грешка :/ 

Благодаря за времето което ще отделите

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

какво питаш? и това таблица jtable е? Защото виждам addRow

Редактирано от acnekt (преглед на промените)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 14 часа, Iliq Zlatanov написа:

Здравейте искам да попитам някои може ли да ми даде пример как да искарам Pc извън for loopa 

Здравейте !

Въпросът ви поражда поне два нови въпроса, свързани не толкова с това как да се изведе въпросната променлива извън for loop-а, а по-скоро с каква цел искате да го направите.

По начина, по който сте дефинирали цикъла, pc е локална променлива - извън цикъла тя няма как да съществува. Това е свързано със самата имплементация на foreach (запис от вида for(<Т> var : varCollection<T>) {...} , Въпрос по темата - тук и малко от JLS писанията на Oracle - тук). Фактически, foreach (или enhanced for loop, ако трябва да сме точни), има спецификация да изисква типа и името на променливата в самата си структура. Това автоматично означава 2 неща:

 - Не може да бъде разделена декларацията и инициализацията на променливата, използвана във foreach-а.

 - Не е възможно използване на външна за цикъла променлива, декларирана и/или инициализирана преди това в кода Ви. 

Фактически, ако искате да изведете самата декларация на pc да е извън цикъла (подчертавам - декларация, а не инициализация), то тогава трябва да използвате нормалния for или while цикъл:

L2PcInstance pc;
List<L2PcInstance> players = L2World.getInstance().getPlayers(); 
for (int i = 0; i < players.size(); i++) {
	pc = players.get(i);
	if (pc.isOnline() && ((pc.getClient() != null) && !pc.getClient().isDetached()))
	{
		Object[] rowData = new Object[]
		{
			pc.getAccountName(),
			pc.getId(),
			pc.getName(),
			pc.getLevel(),
			pc.getCurrentHp(),
			pc.getCurrentMp(),
			pc.getCurrentCp(),
			pc.getPvpKills(),
			pc.getPkKills(),
			pc.getBaseClass(),
			pc.getCreateDate()
		};
		model.addRow(rowData);
	}
}

Тук вече възниква въпроса "Защо ?" -с каква цел искаме въпросната референция pc да бъде видима извън цикъла ? В текущо приложения код, ако се опитате да използвате ps, извън цикъла, ще получите следното:

Цитат

The local variable pc may not have been initialized

тъй като компилатора не може да знае дали players има поне 1 елемент, който да инициализира pc. Това лесно се оправя, ако инициализирате pc още при декларация с null  (L2PcInstance pc = null;), но остава въпроса поради каква причина ще искаме последния елемент, който цикъла обработи да бъде видим извън тялото му ?

Поздрави !

Редактирано от soundtracker (преглед на промените)
  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход

  • Разглеждащи това в момента   0 потребители

    Няма регистрирани потребители разглеждащи тази страница.

  • Горещи теми в момента

  • Подобни теми

    • от Магдаленаг
      Please guys if u have time to spare I'd be extremely and beyond greatful
      Да се разработи уеб сайт по тема музикални изпълнители. 
      Сайтът трябва да съдържа поне 4 страници, всяка от които да отговаря на:
      Задължително трябва да се предвиди версия за ниска разделителна способност на екрана (800 x 600 пиксела) и реализирана с CSS; за този случай може да се използва свободно избрана и 
      независима схема за разположение, като единственото изискване е за запазване на 
      използваемостта.
      Сайтът трябва да включва всички технологии - HTML/XHTML, 
      CSS, DOM, JavaScript.
      Всички страници трябва да се валидират по HTML5. Допустимо е да има минимален брой 
      грешки от валидацията.
      Сайтът трябва да бъде придружен от документация, която да включва:
      1. Заглавна страница.
      2. Задание с посочените варианти:
      /списък на елементите :
      1. Меню, съдържащо rollover бутони, реализирано чрез JavaScript. При посочване на бутон да 
      се променят неговите цвят на фона и цвят на текста. Използването на изображения за 
      бутоните е по желание на студента.
      3. Номериран списък с римски цифри и форматиран със CSS, така че всички нечетни редове 
      да бъдат в курсив (наклонени).
      4. Неномериран списък, използващ собствено изображение подредба на елементите по 
      хоризонтал (т.е. елементите да не са на нов ред).
      6. Формуляр, съдържащ текстови полета за въвеждане на собствено име, фамилно име, email, 
      голямо поле за съобщение, избор чрез радио бутони на приоритета на съобщението –
      „нисък”, „среден” или „висок” и два бутона – „Изпрати” и „Изчисти”. Чрез CSS на 
      текстовите полета и бутоните да се зададе цвят на фона и цвят на текста./
      3. Използваните HTML и CSS код, с които е реализирана зададената схема на 
      разположение:
                            header
                        навигация
                Осн                              За
      съдържание               контакти
      4. Използваният или собствен JavaScript код. 
      5. Резултати от валидацията на отделните страници.
      6. Списък на източниците, от където е заимстван готов код, текст или снимки.
    • от Frozen11
      Здравейте,
      Имам следната задача:
      Единственото, което успях да направо дотук е страницата за вход/регистрация с две взаимно изключващи се форми. При регистрация успях да направя създаването на XML файл, но всеки път се създава нов с името на потребителя, а ми трябва един. Ще се радвам някой да откликне. Благодаря.
    • от HRONICK991
      Да се състави програма на Java за 5 делегати на националната конференция с данни:
      - име
      - ЕГН
      - дни за нощувка
      - име на хотела
      - цена на нощувката 
      И изпълнява от меню следните операции:
      • извежда всички въведени данни:
      • зарежда нов масив с данните на делегатите, които са заплатили суми по големи от 100 лв. и са от зададено населено място;
      • зарежда текстови файл с данни на делегатите мъже от дадено населено място.
    • от Йордан Георгиев Йорданов
      Здравейте , искам да ви представя един български форум за PhotoShop : 
      Резюме ;
      Какво представлява форумът?  Това е мястото, където можете да намерите всичко, свързано с фотошоп! Ако си начинаещ и се луташ измежду многобройните опции на програмата, то тук ще намериш подробни уроци, помощ от по-напредналите потребители, контакт с дизайнери. Ако си дизайнер – това е перфектното място. Защо ли? Тук можеш да намериш всякакви ресурси, групирани по категории, но също така и да обмениш опит с другите дизайнери, да научиш нещо ново. Човек никога не спира да се развива и да учи!  Можеш да си полезен на себе си, но в същото време и на другите като изработиш нечия поръчка! А за потребителите, които желаят да се възползват от услугите на форума за изработка на графично изображение,  било то банер, лого, или друго, е предоставена възможността да се свържат с екипа ни от талантливи дизайнери и поръчката им да бъде изпълнена във възможно най-кратък срок!  Не се страхувай и колебай да се включиш в нашето общество, ние нямаме търпение да се запознаем с теб! 
      Нямам търпение да чуя вашите критики  и също така ви чакам , да се запознаете с програмата PhotoShop
    • от Tonny Petkova
      Напишете програма, която изписва на конзолата дали дадено положително число се дели на 3 или на 5 без остатък.
  • Дарение

×

Информация

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