Java

Java 1: Rastgele Sayı Üretme Fonksiyonu (Random)

java-dersleri

java-rastgele-sayı-üretme-fonksiyonu
Herkese merhabalar, bu yazıyla birlikte Java ile ilgili paylaşımlarıma başlıyorum. İlk yazımda java ile nasıl rastgele sayı üreteceğimizden bahsedeceğim. Tahmin edebileceğiniz üzere tüm programlama dillerinde rastgele sayı üreten bir fonksiyon vardır, bu fonksiyon random ya da rnd ismiyle anılır. Java dilinde rastgele sayı üretimi için ya Math.random() yöntemi ya da java.util paketinin altındaki Random sınıfı kullanılır.

-Math.random () yöntemi, 0 ile 1 arasında sayı üretir. 0 ile 20 arasında sayı üretmek için Math.random()*20 ifadesini kullanaırız.
-0 ile 20 arasında rastgele sayı üretmek için program başında (import.java.util.Random; deyimi kullanmak koşulu ile) aşağıdaki kod parçacığını kullanmamız yeterlidir.

Random rnd = new Random();
sayi = rnd.nextInt(20);

Hemen bir örnekle inceleyelim;

Örnek 1: 0 ile 30 arasında 10 adet rastgele tamsayı üreten ve bu sayıları ekranda gösteren Java kodunu yazınız.

Çözüm: Bu soruyu 2 farklı yolda çözebiliriz.

1.Yöntem:

 class rastgele 
public static void main (String args [] ) {
for (int i=0; i<10; i++){
System.out.print ((int)(Math.random()* 30)+"\t");
} } 

For ile döngüyü 10 kez döndürdük. Bu döngü içinde ise her adımda 0 ile 30 arasında rastgele sayı üretip ekrana yazdırdık. Döngü toplam 10 kere döneceğinden toplamda 10 adet sayı yazdırmış olduk.

2.Yöntem:

import java.utill.Random;
class Rastgele {
public static void main (String args []) {
for (int i=0; i<10;i++)
{
Random rnd = new Random();
System.out.Println(rnd.nextInt(20)+"\t");
}
}}

İki kod parçacığının da ekran çıktıları aşağıdaki gibi olacaktır. Tabii ki sayılar rastgele üretildiğinden her derlemede farklı sonuç gelecektir.

rastgele sayı üretme fonksiyonu örneği

Şimdi bir adım daha ileri giderek farklı örneklere bakalım.

Örnek 2: 0’dan değil de farklı sayıdan başlasın. Mesela 12 ile 65 arasında rastgele 20 sayı üretelim.

	public static void main (String args [] ) {
		for (int i=0; i<20; i++){
		System.out.print (12+(int)(Math.random()* 53)+"\t");
		} 
		} }

Döngüyü 20 defa dönrürerek 20 sayı üretmesini sağladık. 12’den başlatıp toplamlarını 65’e tamamlamak için random fonksiyonunun sonuna 53 yazdık. Çıktı aşağıdaki gibi olacaktır.

random-sayı-üretme-fonksiyonu-örnek

Bir adım daha ilerisi.

Örnek 3: 0 ile 100 arasında rastgele üretilen 10 sayıdan çift olanlarını ekrana yazdıran programı yazınız?

Bir sayının çift olabilmesi durumunu hatırlayalım. Mod aldırarak yapacağız. Programlama dillerinde mod alma % işareti ile yapılır. Örneğin 6’nın 2 ile bölümünden kalanı bulmak için 6%2 işlemini yapmamız gerekiyor. Bunu programda kullanacağız. Sayının 2 ile bölümünden kalan 0 ise çift sayı değilse tek sayı olacak. Şimdi programı yazmaya çalışalım.

public class rastgele {
public static void main (String args[]) {
for (int i=0; i<20; i++) {
int a = ((int)(Math.random()*100));
if (a%2==0)
{
System.out.print(a+"\t");}
}
}}

İlk iki örnekte rastgele sayı üretip anında ekrana yazdırmıştık. Burada ise koşul gerektiği için önce ürettiğimiz sayıları a değişkenine atadık. Böylece hemen altında sayıların çift olup olmadıklarını kontrol ettirip çift olanlarını ekrana yazdırdık.

java random sayı üretme

Şimdi çok az daha karmaşıklaştıralım.

Örnek 4: 15 ile 70 arasında rastgele üretilen 13 sayıdan 10 ile 60 arasında olan tek sayıları ekrana yazdıran programı yazınız?

public class rastgele {
	public static void main (String args[]) {
		for (int i=0;i<13;i++) {
		int a=(15+(int) (Math.random()*55));
		if (a>10 && a<60 && a%2==1 ) {
		System.out.print(a+"\t");}
		}
		}}
		

Burada 3.örnekten farklı olarak yaptığımız tek şey koşul sayısını arttırmak oldu. Hem tek hem de belirtilen değerlerin arasında olması için 3 kez sorguladık. Aralara, ve deyimi olan && işaretini ekledik. Böylece hepsi doğruysa ekrana yazdırdı.

java rastgele sayı üretme örneği

Rastgele sayı fonksiyonu ile tahmin edemeyeceğimiz kadar karmaşık örnekler vardır. Bu yazıda biraz basitten başladık. Eğer anlamadığınız ya da içinden çıkamadığınız soru varsa yorum atmaktan çekinmeyin. Bir sonraki yazımda görüşmek üzere…

Yazar Hakkında

aykutbasyigit

2008 yılında programlama dillerini öğrenerek sektöre giriş yaptıktan sonra 2012'de fikir değiştirerek yazılımı bırakıp tasarıma yöneldi. Arayüz geliştiricisi olarak çalışmakla birlikte deneyimlerini burada paylaşmakta.

1 yorum

  • Blog adina ogrencilerin bir kisim quizlerden kurtaricisi oldun. Tesekkurler. Blogunda basarilar :)))))

Yorum Yaz