riglous Mesaj tarihi: Aralık 24, 2007 Paylaş Mesaj tarihi: Aralık 24, 2007 import java.util.*; public class asd{ public static void main(String[] args){ Random randomGenerator; for(int i=0; i<10; i++){ randomGenerator=new Random(); System.out.println(randomGenerator.nextInt(100)); } } } Yukarida gormus oldugunuz kodla random 10 sayi yaratilmasi gerekiyor degil mi? Ben mi yanlis yapiyorum bi yerde? 10 rakam da ayni cikiyor... Gozumden kacan bi sey mi var, ya da herhangi bi bug'dan haberdar olan var mi? Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Kithnos Mesaj tarihi: Aralık 24, 2007 Paylaş Mesaj tarihi: Aralık 24, 2007 Kodlarin dogru calisiyo...Eclipse falan F11 e basarak Run ediyorsan isler karisabiliyor bazen,daha onceden ugrastigin bi class i calistirip konsola getiriyo olabilir.. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
riglous Mesaj tarihi: Aralık 24, 2007 Konuyu açan Paylaş Mesaj tarihi: Aralık 24, 2007 Yok yok, su denedigim 7. bilgisayar. Bunlarin 4'u linux'tu (redhat, opensuse ve ubuntu x2). Su an kullandigim windows'ta dune kadar canavar gibi calisiyodu. Simdi ayni rakamlari veriyo. Imdat! Herhangi bi IDE kullanmadan test ediyorum, dogrudan >java asd kullanarak.. sonuc hala ayni... Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Mirage Mesaj tarihi: Aralık 24, 2007 Paylaş Mesaj tarihi: Aralık 24, 2007 Windows altında Eclipse ile denedim düzgün çalıştı. Sorunu çözeceğini düşünmüyorum, ama her iterasyonda yeni Random nesnesi üretmek yerine direkt olarak nextInt metodunu çalıştırabilirsin. Şöyle: Random randomGenerator = new Random(); for(int i=0; i < 10; i++) { System.out.println(randomGenerator.nextInt(100)); } O da olmazsa, nedenini bulamazsan java.Math içindeki random metodunu da kullabilirsin. for(int i = 0; i < 10; i++) { System.out.println((int)(Math.random() * 100)); } Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Penthesilea Mesaj tarihi: Aralık 24, 2007 Paylaş Mesaj tarihi: Aralık 24, 2007 Her seferinde new Random yapmandan kaynaklaniyor olabilir, Mirage'in yazdiginin sorunu cozmesi lazim. C'de soyle bisey yapardik lower bitleri kullanmak ve daha random sayi elde etmek icin, hic olmazsa o islere gir. int random = (int) (100.0 * (rand() / (RAND_MAX + 1.0))); Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
riglous Mesaj tarihi: Aralık 24, 2007 Konuyu açan Paylaş Mesaj tarihi: Aralık 24, 2007 Ne yazik ki, o kadar basit degil. Yani denedim onu da... Hatta seed koyup da denedim, her seferinde farkli seed vererek de. Bu sefer de 192 bit'lik string yaratirken 98%'i 0'dan olusuyor, sadece 2%'lik bi kesim 1 oluyor ki ben genelde 50% dagilim istiyorum. Onu gectim, listeden string secerken bile random ayni rakam cikiyo, deliricem yakinda EDIT: lol.. Bilgisayarin hizli calismasindan dolayi yaratilan yaratilan random generator'lar ayni seed'e sahip oluyo. Saka gibi :) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Ractamainus Mesaj tarihi: Aralık 24, 2007 Paylaş Mesaj tarihi: Aralık 24, 2007 .net için konuşuyorum ama muhtemelen java'da da sebep bu; random class'ının default seed'i datetimedır. dolayısıyla kısa sürede ard arda, ayrı ayrı random class'ı yaratırsak aynı zaman diliminde olduğu için seed'leri aynı olur. bu da hep aynı random sayıya ulaşmamızı sağlar. bu yüzden çözüm, mirage'ın dediği gibi tek bir random objesinden sayıları üretmek olacaktır. en nihayetinde random, gerçekten rastgele üretmiyor sayıları maalesef. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Sailor Mesaj tarihi: Aralık 24, 2007 Paylaş Mesaj tarihi: Aralık 24, 2007 random olayı zamanında kafayı sıyırtmıştı ya delphide. kendi kafama göre zamanı alıp çarpıp bölüyodum falan. (yoksa sürekli aynı sayıları veriyordu arka arkaya) bunu mancınık diye bi kart oyununda kullanmıştım yani kartların gelme olasılığı falan aynı olmalı mantıken ama çarpmalar bölmeler sonucu farkettim ki asal sayılar az geliyor mesela :) gerçi ben niye anlatıyorum bunları, sana bir faydası olmayacak. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
wildpervert Mesaj tarihi: Aralık 24, 2007 Paylaş Mesaj tarihi: Aralık 24, 2007 araya sleep, wait gibi birşey koy. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
riglous Mesaj tarihi: Aralık 24, 2007 Konuyu açan Paylaş Mesaj tarihi: Aralık 24, 2007 Math.random() ile tekrar tekrar denedim. Pek bi faydasi olmadi. @Ract, ne yazik ki olmuyor o soylediginiz. Yani ilk basta oyle yapmistim, haklisin.Soyle bi durum var ki ayni kod 2 gun once takir takir calisiyodu. Baska yerde de calisti, zaman zaman calismadigi oldu. Yani bilgisayardan bilgisayara degisen bi durum. Kod'dan cok bilgisayarla alakasini cozebilen var midir ki? sleep, wait... bunun en "abuzer" yolu araya for-loop yerlestirmek ki onu da denedim cozmedi. NOT: Ya bilgisayar hizli olsa icim yanmayacak, AMD1.2 ile deniyorum o bile fayda etmiyo,. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Mirage Mesaj tarihi: Aralık 24, 2007 Paylaş Mesaj tarihi: Aralık 24, 2007 Random nesnesinin parametresiz constructor'unu kullandığın zaman Ractamainus'un dediği gibi o anki zaman kullanıyordur üretilirken. Ama Random nesnesini ürettikten sonra next metodlarıyla aldığın rakamlar deterministic diyor API'de. Aynı aynı seed ile 10 tane Random nesnesi üretsen, hep aynı sonuçları verecek. Dolayısıyla tek bir Random nesnesinin next metoduyla devamlı aynı sayıları vermesi normal bir durum değil. Biraz abes kaçacak ama, değiştirdikten sonra tekrar compile etmeyi unutmuş falan olabilir misin? Bu kod çalışmıyor mu yani? Random randomGenerator = new Random(); for(int i=0; i < 10; i++) { System.out.println(randomGenerator.nextInt(100)); } Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
riglous Mesaj tarihi: Aralık 24, 2007 Konuyu açan Paylaş Mesaj tarihi: Aralık 24, 2007 Hani insanlar durmadan gulerler gerekli gereksiz, sinirleri bozulmustur. Sonra siritirlar, bu basarmanin siritisidir... Ama sonra gereksiz oldugunu farkederler bunun da. Aslinda basarilmis herhangi bi sey yoktur. Gereksiz bi mutluluk halidir bu; kimisi nirvanaya ermis der, kimisi kecileri kacirmis. Oldugun yerde kikirdayip olanlarin ne kadar enteresan oldugunu animsar insan, sanki mantar yemis de her sey ilginc gozukur gozune. Pi'deki gibi basini matkapla deliyolardir bi taraftan ama obur taraftan da istemsiz bi gulus devam eder suratinda. Aslinda aci mi cekiyodur yoksa mutlu mudur pek belli degildir o noktada. Iste tam bu sirada sacmaladiginin farkina varir insan ve salak salak yazmayi kesip sadede gelir. Arkadaslar, eski haliyle kod yeniden calisti. Burdan Sun Microsystems'a en icten kufurlerimi yolluyor, yardim etmeye calisan herkesi de cani gonulden kucakliyorum. Siz siz olun, tez yazmayin. Siz siz olun, tezinizde genetic algorithm kullanmayin. Siz siz olun ga'i java ile yazmaya kalkismayin. Esen kalin efendim, iyi uykular. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
wildpervert Mesaj tarihi: Aralık 24, 2007 Paylaş Mesaj tarihi: Aralık 24, 2007 adam çekmiş biliyo :) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
riglous Mesaj tarihi: Aralık 26, 2007 Konuyu açan Paylaş Mesaj tarihi: Aralık 26, 2007 cok cektim... soyle ki uyumayi unuttum, uyuyamiyorum artik. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Ceday Mesaj tarihi: Aralık 26, 2007 Paylaş Mesaj tarihi: Aralık 26, 2007 kendi classini yazacaksin. baslangic seedini datetimedan alicaksin. o zaman her calistiginda farkli seri gelir. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Öne çıkan mesajlar