5.00 / 1 oy

Java'da sayısal loto kuponunun kaç tane tutturduğunu hesaplayan program

Önceki örneğimizde sayısal loto ile 1 ile 49 arasındaki sayılardan benzersiz olarak 6 tanesini üreterek bir sayısal loto çekilişi programı yazmıştık. Şimdi bir de kupon dolduracağız ve kaç tane tutturduğumuzu kontrol edeceğiz. İnsanın şans faktörüne inandığım için doldurduğumuz kupondaki 6 adet sayının elle manuel olarak sisteme girilmesini istiyorum, bir sonraki örnekte de bunu otomatik hale getiririz. Sonuçların kontrolünü yapabilmek için çekiliş  vektörü elemanlarını sıralamayı da ihmal etmeyelim.

Edit: 1 milyon adet kuponu otomatik olarak doldurarak kar-zarar hesabı yapan ibretlik sayısal loto örneği için tıklayın.

Kodlar:

public static void main(String [] args) {
 Scanner girdi = new Scanner(System.in);
 int[] cekilis = new int[6];
 int[] kupon = new int[6];
 
 //kuponumuzu dolduralım
 for (int i=0; i<6; i++)
 {
	 System.out.println("kuponunuz için "+(i+1)+". sayıyı yazınız");
	 kupon[i]=girdi.nextInt();
 }
 System.out.print("Kuponunuz: ");
 System.out.println(Arrays.toString(kupon));
 
 //çekiliş yapalım
 for (int i=0; i<6; i++)
 {
	 boolean kontrol=true;
	 while (kontrol)
	 {
		 int top=topCek();
		 kontrol  = IntStream.of(cekilis).anyMatch(x -> x == top);
		 
		 if(!kontrol)
			 cekilis[i]=top;
	 }
 }
 Arrays.sort(cekilis); 
 System.out.print("Çekiliş: ");
 System.out.println(Arrays.toString(cekilis));
 
 //kaç adet tuturduğumuzu kontrol edelim
 int sayac=0;
 for (int i=0; i<cekilis.length; i++)
 {
	 for (int j=0; j<kupon.length; j++)
	 {
		 if (cekilis[i]==kupon[j])
			 sayac++;
	 }
 }
 System.out.println("Kuponunuzdaki " +sayac+ " sayı tuttu");
 
 
}

public static int topCek()
{
 return (int)(Math.random()*49)+1;
}

Çıktı:

kuponunuz için 1. sayıyı yazınız
4
kuponunuz için 2. sayıyı yazınız
16
kuponunuz için 3. sayıyı yazınız
22
kuponunuz için 4. sayıyı yazınız
33
kuponunuz için 5. sayıyı yazınız
39
kuponunuz için 6. sayıyı yazınız
45
Kuponunuz: [4, 16, 22, 33, 39, 45]
Çekiliş: [20, 21, 32, 35, 37, 45]
Kuponunuzdaki 1 sayı tuttu

utku33

08.02.2020 02:19

Bu soru henüz yanıtlanmamış.

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 sayısal loto kuponunun kaç tane tutturduğunu hesaplayan program

İ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.