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

(pseudo)náhodná čísla – Java – Fórum – Programujte.com(pseudo)náhodná čísla – Java – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
Vlákno bylo úspěšně vloženo.
Pokud sám přijdeš na řešení, nezapomeň ho sem přidat!
Noneus0
Návštěvník
22. 7. 2013   #1
-
0
-

Ahoj, chtěl jsem se zeptat, jestli má java příkaz na pseudonáhodná čísla, jak třeba Visual basic. V basicu to vypadá asi takhle "Dim cislo As Integer = CInt(100 * Rnd())"  tzn. vybírá číslo do stovky.

Díky

Nahlásit jako SPAM
IP: 217.195.173.–
KIIV
~ Moderátor
+43
God of flame
22. 7. 2013   #2
-
0
-
Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Noneus0
Návštěvník
22. 7. 2013   #3
-
0
-

#2 KIIV
díky. A ještě malou otázečku k tématu. Když si vygenerované číslo uložím do proměnné, rád bych potom pomocí ifu porovnal, zda je vygenerované číslo shodné s některým číslem v poli, které jsem si předtím vytvořil.

asi nějak takhle

int pole [] = {16,19,28,31};

Random num = new Random();  
        int cis = num.nextInt(36);
System.out.println(cis);

if (cis == ???)

díky

Nahlásit jako SPAM
IP: 217.195.173.–
TheOndrap+2
Super člen
22. 7. 2013   #4
-
0
-

if (cis == pole[1]){...}

Když chceš jenom prvek na určité pozici (v tomhle případě na pozici 1 (druhý prvek)).

Tzn chceš-li zkontrolovat všechny prvky v poli, musíš v nějakém cyklu projít všechny. Asi takhle:

int pole [] = {16,19,28,31};

Random num = new Random();  
int cis = num.nextInt(36);
System.out.println(cis);

for (int i = 0; i<pole.lenght; i++){
    if (cis == pole[i]){
        System.out.println(cis+" je v poli na "+i+" pozici");
    }	
}

třeba takhle .. princip je ten přístup do pole a ten jsem popsal .. taky si musíš uvědomit, že první prvek v poli je na pozici 0

Nahlásit jako SPAM
IP: 88.102.250.–
ZČU v Plzni je mnohem víc, než jenom právnická fakulta !!
Fakulta aplikovaných věd www.fav.zcu.cz
"Když nedokážete říci věci jednoduše, pak jim dostatečně nerozumíte"
KIIV
~ Moderátor
+43
God of flame
22. 7. 2013   #5
-
0
-

nebo z toho pole rovnou udelej list a pak mas metodu contains....  (podle me lepsi nez treba array.asList.contains .... co sem nekde nasel)

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Noneus0
Návštěvník
22. 7. 2013   #6
-
0
-

#4 TheOndrap
ne ne, já to myslel tak, že ten if má zjistit, zda se vygenerované číslo rovná některému v poli. Je jedno kolikátému. Jde o to, jestli pole obsahuje stejné číslo, jako to, co se vygenerovalo

Nahlásit jako SPAM
IP: 217.195.173.–
TheOndrap+2
Super člen
22. 7. 2013   #7
-
0
-

#6 Noneus
no dyk to tam mam :D akorát že jsem ještě vypsal na jaké je pozici .. důležitý je ten if, který tu rovnost testuje. 

nebo udělej if  (cis = pole[i]) {System.out.println("prvek se nachází v poli");}

jde o to že to musíš procházet v cyklu. Nebo jak napsal KIIV to převést do ArrayListu (ale to si myslím že není na místě, když se pereš s timhle :) 

Nahlásit jako SPAM
IP: 88.102.250.–
ZČU v Plzni je mnohem víc, než jenom právnická fakulta !!
Fakulta aplikovaných věd www.fav.zcu.cz
"Když nedokážete říci věci jednoduše, pak jim dostatečně nerozumíte"
KIIV
~ Moderátor
+43
God of flame
22. 7. 2013   #8
-
0
-

a do listu, jak sem zminil, bys mohl i v pohode pridavat..

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Noneus0
Návštěvník
22. 7. 2013   #9
-
0
-

#7 TheOndrap

Z nějakýho důvodu mi ten if nechce vzít to pole..nevím proč

Nahlásit jako SPAM
IP: 217.195.173.–
Noneus0
Návštěvník
22. 7. 2013   #10
-
0
-

#8 KIIV
a mohl bys prosím poradit jak na to? díky

Nahlásit jako SPAM
IP: 217.195.173.–
Řešení
KIIV
~ Moderátor
+43
God of flame
22. 7. 2013   #11
-
0
-
Vyřešeno Nejlepší odpověď

neco jako   List<Integer> list;     if ( list.contains(nahodny) ) {  ...  } else {  list.add(nahodny); } 

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Noneus0
Návštěvník
22. 7. 2013   #12
-
0
-

#7 TheOndrap
Jsem kopyto, podělaný závorky....moc se omlouvám :-)

Nahlásit jako SPAM
IP: 217.195.173.–
Noneus0
Návštěvník
22. 7. 2013   #13
-
0
-

#11 KIIV
díky moc oběma.

Nahlásit jako SPAM
IP: 217.195.173.–
Println
~ Anonymní uživatel
6 příspěvků
24. 7. 2013   #14
-
0
-

#11 KIIV
Kým naplníš ten list cyklom... alebo ručne (list[0] = 7; list[1] = 8; atd);

prijde mi jedoduchšie ist cez asList

Nahlásit jako SPAM
IP: 188.167.34.–
KIIV
~ Moderátor
+43
God of flame
24. 7. 2013   #15
-
0
-

#14 Println
jak myslis... ale mit to rovnou jako list aspon omezi zbytecny vytvareni instanci listu tim asList, ktery se okamzite pote po pouziti zahazuji...

sice chapu ze v jave se takovyhle veci jako efektivita neresi... beztak to uz davno sezralo vsechnu pamet

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Println
~ Anonymní uživatel
6 příspěvků
24. 7. 2013   #16
-
0
-

#15 KIIV
Prepáč, asi nechápem.

Ako môžem mať list bez vytvorenia jeho instancie?

Nahlásit jako SPAM
IP: 188.167.34.–
KIIV
~ Moderátor
+43
God of flame
24. 7. 2013   #17
-
0
-

kdyz budes mit array, tak se pomoci asList vytvari instance listu pokazde, kdy je to zavolano... kdyz udelas instanci listu rovnou a pracujes s nim, tak se zadna dalsi instance listu nevytvari...

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Println
~ Anonymní uživatel
6 příspěvků
24. 7. 2013   #18
-
0
-

#17 KIIV
Už (asi) chápem. Už len treba uvážit či dat prednost pamätovo nenáročnému pred pomalým (vice versa)

Nahlásit jako SPAM
IP: 188.167.34.–
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, 3 hosté

Podobná vlákna

Nahodna cisla — založil CommanderZ

Náhodná čísla — založil Petr

Náhodná čisla — založil Zke

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ý