Bu yazımda Java random sayı nasıl üretilir sorusunu cevaplayacağım. Ayrıca yapacağımız örnek uygulama ile konuyu detaylı olarak ele alacağım. Yazının içeriği aşağıdadır.
İçindekiler
- Java Random Sınıfı Nedir?
- Java’da Random Sayı Nasıl Üretilir?
Java Random Sınıfı Nedir?
Hatırlarsanız bir önceki yazının konusu Java’da Scanner kullanımı ile ilgiliydi. Scanner class’ının java.util paketi içinde yer alan bir class olduğundan bahsetmiştik. Random class’ı yine java.util paketi içinde yer alıyor.
java.util.Random class’ını, rastgele sayılar üretmek için kullanıyoruz. Bu class, çeşitli veri türlerini üretebilen rastgele sayılar sağlar, bu da oyunlar, simülasyonlar, veri analizi ve diğer birçok uygulama için bize kolaylık sağlar.
Random class’ı, önceden belirlenmiş bir başlangıç durumu (seed) kullanarak rastgele sayılar üretir. Eğer herhangi bir başlangıç durumu belirtilmezse, sistem saatinin milisaniye cinsinden değeri varsayılan başlangıç durumu olarak kullanılır. Peki Random class’ını nasıl kullanıyoruz? İşte sorumuzun cevabı.
Java’da Random Sayı Nasıl Üretilir?
Random Sınıfını İçe Aktarın: İlk olarak, java.util paketinden Random class’ını içe aktarıyoruz.
1 2 3 |
import java.util.Random; |
Random Nesnesi Oluşturun ve Kullanın:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
public class RandomExample { public static void main(String[] args) { // Varsayılan başlangıç durumuyla bir random nesnesi oluşturuluyor Random random = new Random(); // 0 ile 99 arasında rastgele bir tamsayı üretiyor int randomNumber1 = random.nextInt(100); // 0 ile 1 arasında rastgele bir ondalıklı sayı üretiyor double randomNumber2 = random.nextDouble(); System.out.println("Random Number 1: " + randomNumber1); System.out.println("Random Number 2: " + randomNumber2); } } |
Gördüğünüz gibi kullanımı oldukça basit. Şimdi Random class’ı kullanarak tam sayı, ondalıklı sayı ve boolen değeri nasıl üreteceğimizi basit örnekler üzerinden öğrenelim.
Tamsayı Üretme:
-
- nextInt(): Belirtilen aralık dahilinde (sınırlar dahil) bir tamsayı üretir.
1 2 3 4 |
Random random = new Random(); int randomInt = random.nextInt(20); // 0 ile 20 arasında bir tamsayı üretir |
Uzun Tamsayı Üretme:
- nextLong(): Uzun tamsayı değeri üretir.
1 2 3 4 |
Random random = new Random(); long randomLong = random.nextLong(); // Uzun tamsayı değeri üretir |
Ondalıklı Sayı Üretme:
- nextDouble(): 0 ile 1 arasında (1 hariç) bir ondalık sayı üretir.
- nextFloat(): 0 ile 1 arasında (1 hariç) bir float sayı üretir.
1 2 3 4 |
Random random = new Random(); double randomDouble = random.nextDouble(); // 0 ile 1 arasında bir ondalık sayı üretir |
Boolean Değer Üretme:
- nextBoolean() : true veya false rastgele boolean değeri üretir.
1 2 3 4 |
Random random = new Random(); boolean randomBoolean = random.nextBoolean(); // true veya false üretir |
Başlangıç Durumu Belirleme :
- setSeed(Başlangıç Durumu): Rastgele sayı üretiminde kullanılan başlangıç durumunu belirler. Aynı başlangıç durumu kullanıldığında aynı sıra rastgele sayılar üretir.
1 2 3 4 |
Random random = new Random(); random.setSeed(12345); // Başlangıç durumunu belirler |
Şimdi Scanner ve Random sınıfı kullanarak basit bir sayı tahmin uygulaması yapalım. Örneği iyice anlayabilmeniz için oldukça basit kodlarla detaya girmeden oluşturdum.
İşte örneğimiz:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
import java.util.Random; import java.util.Scanner; public class Main { public static void main(String[] args) { Random random = new Random(); int number = random.nextInt(20); Scanner scanner = new Scanner(System.in); int counter = 0; while (counter < 5){ System.out.print("Enter your guess: "); int userGuess = scanner.nextInt(); if(userGuess == number){ System.out.println("Your found the number"); } else { System.out.println("you can't found please try again"); } counter++; } } } |
Bu dersimde Java‘da random sayı nasıl üretilir sorusunu cevapladım. Eğer sizde bu yazıyı ve önceki yazıları iyi anladığınızı düşünüyorsanız bir sonraki yazıya geçmeye hazırsınız.
Eğer anlamadığınız bir yer olduysa yada önceki yazılardan okumadıklarınız varsa Java Scanner Sınıfı nedir, Java if else kullanımı, Java veri tipleri yazılarını okumanızı tavsiye ederim.
Umarım sizler için faydalı bir yazı olmuştur.
Bir sonraki yazımda görüşmek üzere.
Happy coding!