Prepisovanie čísla – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Prepisovanie čísla – Java – Fórum – Programujte.comPrepisovanie čísla – Java – Fórum – Programujte.com

 

Anonym
~ Anonymní uživatel
454 příspěvků
5. 5. 2014   #1
-
0
-

Zdravím,

mám taký jeden záhadný problém, mám nadefinované pole s číslami:

public int bx[] = {25, 50, 75, 100, 125, 150, 175, 200, 225, 250, 275, 300, 325, 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, 325, 300, 275, 250, 225, 200, 175, 150, 125, 100, 75, 50, 25};

cez časovač volám nasledujúci kód:

    public void actionPerformed(ActionEvent e) {
        if (bx[10] == 0)
        {
           System.out.println ("ide!");
        }

System.out.println (bx[10]);
repaint();
    }

v ktorom kontrolujem, či je pole na 10. pozícii nula (mením to cez ďalšiu triedu), pokiaľ je, tak vypíše zadanú hlášku. Problém je ale v tom, že ak si následne dám vypísať bx[10] tak sa mi pri každom tiku mení z 275 na nula a opäť z 275 na 0... 

Ide o to, že sa snažím meniť číslo na 10. pozícii na nulu a stále ma vráti k pôvodnej 275ke, ako je to možné? 

Ďakujem za pomoc.

Nahlásit jako SPAM
IP: 95.105.244.–
Kit+15
Guru
5. 5. 2014   #2
-
0
-

#1 Anonym
Musí být synchronized.

A to pole by určitě mělo být private.

Nahlásit jako SPAM
IP: 37.48.47.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Anonym
~ Anonymní uživatel
454 příspěvků
6. 5. 2014   #3
-
0
-

#2 Kit
 

Zdravím, ďakujem za odpoveď, zmenil som to na:

    public synchronized void actionPerformed(ActionEvent e) {
System.out.println (bx[10]);
repaint();
    }

ale výsledok je stále ten istý. Polia mám public preto, lebo k nim pristupujem z inej triedy.

Nahlásit jako SPAM
IP: 95.105.244.–
Kit+15
Guru
6. 5. 2014   #4
-
0
-

#3 Anonym
Udělej to pole private. Je to nutné.

Nahlásit jako SPAM
IP: 147.229.242.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Anonym
~ Anonymní uživatel
454 příspěvků
6. 5. 2014   #5
-
0
-

#4 Kit

A ako potom budem môcť pristupovať z inej triedy k daným premenným? 

Nahlásit jako SPAM
IP: 95.105.244.–
sleepy
~ Anonymní uživatel
422 příspěvků
6. 5. 2014   #6
-
0
-

tak ze vytvoris synchronizovane settery a gettery.

class ObjectWithArray{
	private int[] array;

	public ObjectWithArray(int[] array) {
		this.array = new int[array.length];
		System.arraycopy(array, 0, this.array, 0, array.length);
	}

	public synchronized int getElement(int idx) {
		// if idx not in array throw exception
		return this.array[idx];
	}

	public synchronized setElement(int idx, int element) {
		// if idx not in array throw exception
		this.array[idx] = element;
	}
}


actionPerformed nemusi byt synchronized dolezite je aby get a set bol.

Nahlásit jako SPAM
IP: 158.195.196.–
sleepy
~ Anonymní uživatel
422 příspěvků
6. 5. 2014   #7
-
0
-

Aj ked mas tu 5 riadkov, z ktorych toho nevycitam viac ako si popisal slovne.

Nahlásit jako SPAM
IP: 158.195.196.–
sleepy
~ Anonymní uživatel
422 příspěvků
6. 5. 2014   #8
-
0
-

A chyba mi tam v settery void, ten python.

Nahlásit jako SPAM
IP: 158.195.196.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 1 host

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý