Random sınıfı, rastgele sayılar üretmek için kullanılır. Java’da bu işlemi Random sınıfı ile yapabiliriz. Random sınıfı, sadece int türünde değil float, btye, double gibi türlerde de sayı üretebilir.
Random Sınıfı
Bu sınıfı kullanmak için öncelikle sınıfı tanımladığımız yerin üst kısmına, paket isminden sonra şu sınıfı import ediyoruz ;
1 |
import java.util.Random; |
1 2 3 |
package random; import java.util.Random; public class Main |
Sınıfı import ettikten sonra random sayılar üretmek için öncelikle bu sınıftan bir nesne oluşturmamız gerekiyor ve oluşturulan bu nesneden bir sayı üretiyoruz
1 2 |
Random r=new Random(); //random sınıfı int a=r.nextInt(10); |
1 |
long l = r.nextLong(); float f = r.nextFloat(); double d = r.nextDouble(); |
Şimdi bu ürettiğimiz değeri ekrana yazdıralım;
1 2 3 4 5 6 7 8 9 10 11 |
package random; import java.util.Random; public class Main { public static void main(String[] args) { Random r=new Random(); //random sınıfı int a=r.nextInt(10); System.out.println(a); } } |
Java’da random sayı üretmenin bir diğer yolu yolu da Math sınıfında bulunan Random metodudur.Fakat bu metod 0.0 ile 1.0 arasında değer üretir ve dolayısıyla bu değerler double türündedir.Ayrıca bu metod nesne oluşturularak kullanılmaz.Şimdi ise bunun nasıl kullanıldığını gösterelim;
1 2 |
int sayi = (int)(Math.random()*10); System.out.println(sayi); |
Bu metodu 10 ile çarpmamızın sebebi, 0 ile 1 arasında double türünde değer üretmesidir.Bunu 10 ile çarparak tamsayı üretmesini sağlayabiliriz.Sonuç olarak bu fonksiyon 1 ile 10 arasında değer üretecektir.Biz bu fonksiyonun sonuna +10 eklersek 10 ile 20 arasında sayı üretecektir.Bilindiği gibi buna 20 dahil değildir
int a=r.nextInt(10);
” Burada parantez içerisine 10 yazmamızın sebebi,1 den 10 a kadar değerler üretmesidir.Fakat buna 10 dahil değildir ”
demişsiniz
10 dahil olmadığı doğru ama 1 den değil 0 dan başlar.
Düzeltme için sağolun.
-1 le 9 arası üretimnasıl yapabliriz peki
0-10 arası üretimden çıkan sonuçtan 1 çıkararak yapabilirsiniz.
Çok yararlı paylaşım teşekkürler
1’den 100’e kadar rastgele sayı yazdıracağım ama yazdığım sayı bir daha yazılmasın istiyorum onu nasıl yapabilirim .
Bir liste oluşturun. Çıkan sayıyı bu listeye atın. Her seferinde kontrol edin bu listede olup olmadığını.
-5 ile 5 arası nasıl yaparım mesela?
Math sınıfında 50-99 arası random bi sayı almak için ne yapmak gerekir acaba
Merhaba
Random r = new Random();
int randInt = r.nextInt(max-min) + min;
System.out.println(randInt);