JAVA KART KARIŞTIRMA PROGRAMI
BU uygulamanın yeni başlayanlar için faydalı olabileceğini düşünüyorum.Uygulamada class oluşturma class tan nesne türetme fonksiyon oluşturma ve çağırma gibi olayları görüp anlayabilirsiniz.Ekleyebildiğim kadar açıklama satırlarıyla sizlere göstermeye çalıştım.İyi Çalışmalar…

Card CLASS’I

public class Card {
    private String face;// Değişkenleri tanımladık
    private String suit;
    //2 parametreli constructor kullanımı
    public Card(String cardFace,String cardSuit)
    {
        face=cardFace;
        suit=cardSuit;
    }
    public String toString()
    {
        return face+"of"+suit;//bu değeri geri döndürüyoruz.
    }
}

DeckOfCards CLASSI

import java.util.Random;//Rastgele sayı üretmek için bu kütüphaneyi projemize dahil ediyoruz.
public class DeckOfCards {
    private Card[] deck;//Kartlarımızı tutacak dizimizi belirledik.
    private int currentCard;
    private static final int NUMBER_OF_CARDS=52;//kart sayısını sabit belirledik.
    //rastgele sayı üretelim
    private static final Random randomNumbers=new Random();
    //desteyi dolduralım.constructor ile
    public DeckOfCards()
    {
        String[] faces = { "Ace", "Deuce", "Three", "Four", "Five", "Six",
                "Seven", "Eight", "Nine", "Ten", "Jack", "Queen", "King" };
        String[] suits = { "Hearts", "Diamonds", "Clubs", "Spades" };
       deck=new Card[NUMBER_OF_CARDS];
        currentCard=0;
 
        for(int count=0;count<deck.length;count++)
            deck[count]=new Card(faces[count%13],suits[count/13]);
    }
    //karıştırılaım
    public void shuffle()
    {
        //karıştırdıktan sonra yine ilk kartı seçeceğiz
        currentCard=0;
        //karıştırma işlemi 0-51 arasında
        for(int first=0;first<deck.length;first++)
        {
            int second=randomNumbers.nextInt(NUMBER_OF_CARDS);
            //kartları yer değiştirelim.
            Card temp=deck[first];
            deck[first]=deck[second];
        }
    }
    //kartları dağıtalım
    public Card dealCard()
    {
        if(currentCard<deck.length)
            return deck[currentCard++];
        else
            return null;
    }
}

DeckOfCardsTest CLASS’I

public class DeckOfCardsTest {
    public static void main(String[] args)//Ana fonksiyon tanımlaması
    {
        DeckOfCards myDeckOfCard=new DeckOfCards();//nesne yarattık.
        myDeckOfCard.shuffle();//karıştırma fonksiyonu çağırıldı.
        //bütün kartları ekrana yazdıralım.
        for (int i=1;i<=52;i++)
        {
            System.out.printf("%-19s",myDeckOfCard.dealCard());
                    if(i%4==0)
                        System.out.println();
        }
    }
}