Metoda BlueJ, nevím si rady, jak ji napsat – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Metoda BlueJ, nevím si rady, jak ji napsat – Java – Fórum – Programujte.comMetoda BlueJ, nevím si rady, jak ji napsat – Java – Fórum – Programujte.com

 

Luďa
~ Anonymní uživatel
9 příspěvků
30. 12. 2011   #1
-
0
-

Dobrý den, 

potřebuji poradit s metodou, musím ji napsat v BlueJ a pořád nevím jak, vygenuruju náhodné číslo, ale jak potom zjistím jaká barva je na tomto pořadovém čísle?

zde je zadání:

Deklarujte verejnou statickou metodu nahodnaBarva(), ktera vrati pseudonahodnou
barvu z mnoziny  BARVY. Pseudonahodna barva bude urcena generatorem typu Random,
pomoci nehoz se urci pseudonahodne poradoveho cislo barvy pri zpracovani
mnoziny barev pomoci iteratoru. Barva s odpovidajicim poradovym cislem bude vracena.
  

Nahlásit jako SPAM
IP: 178.255.168.–
zlz
~ Anonymní uživatel
634 příspěvků
30. 12. 2011   #2
-
0
-

Pomocí toho iterátoru procházej tu množinu barev dokud nedojdeš k té s pořadovým číslem rovným tomu vygenerovanému číslu.

Nahlásit jako SPAM
IP: 213.211.51.–
Luďa
~ Anonymní uživatel
9 příspěvků
31. 12. 2011   #3
-
0
-

#2 zlz


Chápu, to jsem taky udělal, ale jak vypíšu pouze tu barvu s tím pořadovým číslem?

Nechci aby to měl někdo stejné jako já, je to součást semestrálky, ale mám to napsané nějak takhle, zdá se mi to jako dobrá myšlenka, kdyžby Vás napadlo, jak to opravit, prosím napište mi na mail: petrback@seznam.cz

Takto jsem to myslel:

public static Color nahodnaBarva(){   
    int pocet = 0;
    int index=generator.nextInt(BARVY.size());  
    Iterator<Color> iter = BARVY.iterator();
    while (iter.hasNext()) {
        Color color= iter.next();
        pocet++;
        if(pocet == index){
        break;   
        }
    }
    if(pocet == index){
    return color;
}
}

Nahlásit jako SPAM
IP: 178.255.168.–
zlz
~ Anonymní uživatel
634 příspěvků
31. 12. 2011   #4
-
0
-

Stejné nebo hodně podobné to nejspíš budou mít všichni i bez opisování.

while (iter.hasNext()) {
        Color color = iter.next();
        if (pocet++ == index) {
                return color;
        }
}
return Color.black;
Nahlásit jako SPAM
IP: 213.211.51.–
Luďa
~ Anonymní uživatel
9 příspěvků
31. 12. 2011   #5
-
0
-

#4 zlz
Děkuju moc

Nahlásit jako SPAM
IP: 193.179.139.–
Luďa
~ Anonymní uživatel
9 příspěvků
1. 1. 2012   #6
-
0
-


#4 zlz

A ještě bych měl poslední dotaz..

Jak přesně funguje .contains() nebo co mám špatně?

Zde je zadání:

Ve tride Obrazek deklarujte verejnou instancni metodu odeberObdelnik(Point p), ktera odebere

 z obrazku obdelnik, ktery obsahuje bod p. V pripade, ze bod p nelezi v zadnem z obdelniku
 v obrazku, obrazek se nezmeni. Pro zpracovani seznamu obdelniku pouzijte iterator typu Iterator<Obdelnik>.

Takto bych to řešil:

public void odeberObdelnik(Point p){            
    Iterator<Obdelnik> iter = obrazky.iterator();
    while (iter.hasNext()) {
        Obdelnik obdelnik = iter.next();
        if(obdelnik.contains(p)){
        obdelnik.remove();   
}
}
}

Nahlásit jako SPAM
IP: 178.255.168.–
zlz
~ Anonymní uživatel
634 příspěvků
1. 1. 2012   #7
-
0
-

Nevím, záleží na tom, co je ten Obdelnik zač a jak to má celé fungovat. Ale spíš než v .contains bych viděl problém v .remove. Jestli ten 'obdelnik' chceš odstranit z 'obrazky' tak správný postup asi bude iter.remove().

Nahlásit jako SPAM
IP: 213.211.51.–
Luďa
~ Anonymní uživatel
9 příspěvků
1. 1. 2012   #8
-
0
-

#7 zlz
Tak už jsem to vyřešil, s tím iter.remove() jste měl taky pravdu :) Takže děkuju

Nahlásit jako SPAM
IP: 178.255.168.–
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, 32 hostů

Podobná vlákna

Nevim si rady — založil tom

Nevím si rady s WinAPI — založil radaplech

Python nevím si rady — založil Doktor

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ý