Wątek przeniesiony 2015-10-27 07:07 z Java przez bogdans.

Zerowanie int w pętli

0

Witam.
Próbuje zrobić aby podczas klikania buttona przeskakiwały mi zdjęcia których nazwy są w ArrayList "wyrazy".
Po wyświetleniu ostatniego ma zacząć od początku listy.

napisałem coś takiego

 		if (zrodlo==bPlus)
		{
			if (i >= wyrazy.size())
			{
				i=-1;
			}			
			i++;			
			String result = wyrazy.get(i);
			try {
				File file = new File(result);
				BufferedImage bi = ImageIO.read(file);
				ImageIcon imgIcon = new ImageIcon(bi);
				labelFoto.setIcon(imgIcon);
				} catch (IOException ex) 
				{
			
				}			
		}

ale przy dojściu na koniec listy mam błąd.

Ktoś podpowie jak to poprawić?

próbowałem dodać:

int w = wyrazy.size();
...
if (i >= w)
...

ale o tak miałem błędy

1

Gdy i == wyrazy.size() - 1 warunek nie jest spełniony, więc dalej robisz i++, przez co i == wyrazy.size(). Wtedy

String result = wyrazy.get(i);

wywali, bo wyrazy nie ma elementu o indeksie wyrazy.size(). Ostatni element ma indeks wyrazy.size() - 1.

0

Pomerdało mi się size z indexem
i zakładałem że size kończy się z -1 element listy.

Dziękuję :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1