Geceye kafa açarak başlayalım. Java'da Math.random() yönteminin ürettiği rastgele sayılar ile rastgele zar atan program ve rastgele yazı tura atan program yapmıştık. Ama her iki örnekte de pozitif tamsayılar üretiyorduk ve negatif bir rastgele sayı elde etme olanağımız yoktu. Java içerisinde rastgele sayı üretmek için kullanabileceğimiz farklı metodlar olsa da aşağıdaki örneği sadece Math.random() kullanarak çözmeyi denerseniz düşünme şekliniz biraz değişecektir.
Örnek: -10 ile +10 arasında rastgele 20 adet tamsayı üreten ve yazdıran bir Java programı kodlayınız.
İpucu: Math.random() ile sadece 0 ile 1 arası sayılar üretebiliyoruz. Bu ürettiğimiz sonucu 21 ile çarparak tamsayı kısmını alırsak elimizde 0 ile 20 arası tüm sayılardan oluşan bir küme olur. Bu kümeden de 10 değerini çıkartırsak elimizdeki küme -10 ile +10 arasındaki sayılar olacaktır. Bu işlemi de for döngüsünde 20 kez tekrarlatırsak elimizde 20 adet -10 ile +10 arasında sayı olmuş olur.
Çözüm:
for (int i=1; i<=20; i++)
{
int rastgele=(int)(Math.random()*21)-10;
System.out.print(rastgele+" ");
}
Çıktı: -5 8 3 -5 1 -9 9 8 0 7 -4 -4 2 8 10 10 2 -10 9 10