Java Sayısal Loto Algoritması

By Burak TUNGUT - 21.11.2012 - Kategori Java

Bu yazım da java ile 6 adet tekrar etmeyen sayılar üreterek sayısal loto yapıp algoritmayı inceleyeceğiz.
Uykusuzluktan olsa gerek bir üst paragrafda ki yazım bir hayli değişik oldu bende kabul ediyorum :)

Tekrarsız sayı üretme

Evet, önemli olan başlıkta belirttiğim gibi üreteceğimiz sayıların tekrarsız olması. Bunu nasıl sağlayacağımız ise gayet basit.
Öncelikle bir döngümüz sayı oluşturup bunları işleyecek fakat söz konusu bu döngü içinde bir de sayıları tutan dizimizde üretilen sayıyı arayarak sayının var olması durumunda döngüde artış operatörü yapılmadan başa dönülmesini sağlayacaktır.

Aşağıda da görüldüzü üzere while döngümüzün için de bulunan for döngüsü 0 dan 6 ya dönerek üretlien sayıyı dizinin içinde arıyor, var olması durumunda bulundu değerine 1 (true) olarak değiştiriyor.
Ardından ilk döngünün devamın da eğer bulundunun false olma durumunda gelen sayının kullanılmadığını anlıyor ve diziye aktarıyoruz, eğer true geliyorsa artış operatörü kullanılmadığı için aynı indisten üretilmeye devam ediyor sayılarımız.

Kodlarımız

public static void main(String[] args) {
		int i=0,j=0,uret=0;
		boolean varmi=false;
		int[] sayilar = new int[6];
		while(i<6)
		{
			uret = (int)(Math.random()*7);
			varmi=false;
			for(j=0 ; j<6 ; j++)
			{
				if(sayilar[j]==uret)
				{
					varmi=true;
					break;
				}
			}
			
			if(varmi!=true)
			{
				sayilar[i]=uret;
				i++;
			}
			
		}
		
		for(int b:sayilar)
		{
			System.out.print(b+"\t");
		}
	}
Yorum Bırak

Facebook
Son Yorumlar