for (int x = 0 ; x<20; x++) { System.out.println(1 + (int)(Math.random()*20));
}
burada neden (Math.random ()*20) parantez kullanılmış açıklayabilir misiniz ? parantezi sildiğimde bütün sonuçlar 1 şeklinde çıkıyor
Math.random() 0 - 1 arasi double generate eder. Sen 20 yi silince 0 - 1 arasi double degeri int e cast ediyor, o da 0 yapiyor. Neden 20 + 1 gibi sayilar ekledigini kodu yazana sormak gerek. Kodu yazan kisi belli ki tam olarak bilmiyor Java API sini, zira Math.random() i int e cast etmek mantiksiz, Random.nextInt() varken. 1 ile 20 arasi random generate etmek icin soyle bir kod daha uygun:
Random r = new Random(); for (int i = 0; i <20 ; i++) { System.out.println(1 + r.nextInt(19)); }
Math.random() kendi icerisinde Random.nextDouble() cagiriyor. Halbuki biz int istiyoruz.
< Bu ileti tablet sürüm kullanılarak atıldı >
yeni mesaja git
Yeni mesajları sizin için sürekli kontrol ediyoruz, bir mesaj yazılırsa otomatik yükleyeceğiz.Bir Daha Gösterme