5.00 / 1 oy

Java'da iki zar atıp düşeş gelen zar sayısını bulmak

Gece gece kod yazarken arada mola verince bir şeyler yazmak keyifli oluyor :) Önceki paylaşımımda zarları bir vektörde saklayan bir java örneği hazırlamıştım. Bu sefer bir değil , aynı anda iki zar atalım ve zarların düşeş gelme olasılığını hesaplayalım. Önceki soruda vektör kullanarak çözmüştük, bu sefer vektör kullanmaya ihtiyacımız yok (çünkü zarları saklamasak da olur) ama yine de hem vektör kullanarak, hem de vektör kullanmadan çözelim. 200 zar atsak arada 1-2 tane düşeş gelir sanırım :).

Vektör kullanarak düşeş gelen zar sayısını ve olasılığını bulan Java programı:

public static void main(String[] args) {
		int[] zarlar1=new int[200];
		int[] zarlar2=new int[200];
		int sayac=0;
		
		for (int i=0;i<zarlar1.length;i++)
		{
			zarlar1[i]=(int)(Math.random()*6)+1;
			zarlar2[i]=(int)(Math.random()*6)+1;
			
			if (zarlar1[i]==6 && zarlar2[i]==6)
			{
				sayac++;
			}
		}
		System.out.println(zarlar1.length+" zardan "+sayac+" tanesi düşeş geldi");
		System.out.println("Düşeş gelme olasılığı="+((double)sayac/zarlar1.length));

	}

Çıktı:

200 zardan 2 tanesi düşeş geldi
Düşeş gelme olasılığı=0.01

 

Vektör kullanmadan düşeş gelen zar sayısını ve olasılığını bulan Java programı: Burada düşeş gelme şartını da biraz farklı kodlayalım:

public static void main(String[] args) {
		
		int zarSayisi=200;
		int sayac=0,zar1,zar2;
		
		for (int i=1;i<=zarSayisi;i++)
		{
			 zar1=(int)(Math.random()*6)+1;
			 zar2=(int)(Math.random()*6)+1;
			
			if (zar1>=6 && zar2>=6) //zar1+zar2==12 de olabilir
			{
				sayac++;
			}
		}
		System.out.println(zarSayisi+" zardan "+sayac+" tanesi düşeş geldi");
		System.out.println("Düşeş gelme olasılığı="+((double)sayac/zarSayisi));

	}

Çıktı:

200 zardan 11 tanesi düşeş geldi
Düşeş gelme olasılığı=0.055

utku33

21.12.2019 02:44

Bu soru 1 kez yanıtlandı.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
Java'da iki zar atıp düşeş gelen zar sayısını bulmak

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.