メソッドを呼び出して数をカウントしたいです

#コンソールに出力したい結果は以下です
ブラックジャックへようこそ！
貴方の1枚目のカードはハートのQ
ディーラーの1枚目のカードはダイヤのA
貴方の2枚目のカードはハートのA
ディーラーの2枚めのカードは秘密だよ
あなたの現在のポイントは11です
カードを引きますか？ Yes:y or No:n

ーーーーーーーーーーーーーーーーーーーーーーーー
プレイヤーの何枚目、という部分をメソッドを使い１、２、３・・・としたいです。

##現状は以下です
ブラックジャックへようこそ！
貴方の0枚目のカードはハートのQ
ディーラーの1枚目のカードはダイヤのA
貴方の0枚目のカードはハートのA
ディーラーの2枚めのカードは秘密だよ
あなたの現在のポイントは11です
カードを引きますか？ Yes:y or No:n
##ソースコードを載せます
```
package blackjack;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class MainGame {

	public static void main(String[] args) {
		System.out.println("ブラックジャックへようこそ！");

		List<Integer> deck = new ArrayList<Integer>(52);

		Deck.shuffleDeck(deck); // メソッドを呼び出す

		// シャッフルしたカードを表示。デバック用
		//		for(Integer i : deck) {
		//	            System.out.println(i);
		//	        }

		List<Integer> player = new ArrayList<>(); //プレイヤーの手札リストを作成
		List<Integer> dealer = new ArrayList<>(); //ディーラーの手札リストを作成

		//プレイヤー・ディーラーがカードを2枚引く
		player.add(deck.get(0));
		dealer.add(deck.get(1));
		player.add(deck.get(2));
		dealer.add(deck.get(3));

		//プレイヤー・ディーラーの手札のポイントを表示
		System.out.println("貴方の"
				+ Player.getPlayerHands() + "枚目のカードは"
				+ Deck.toDescription(player.get(0)));
		System.out.println("ディーラーの1枚目のカードは"
				+ Deck.toDescription(dealer.get(0)));
		System.out.println("貴方の"
				+ Player.getPlayerHands() + "枚目のカードは"
				+ Deck.toDescription(player.get(1)));
		System.out.println("ディーラーの2枚めのカードは秘密だよ");

		//プレイヤー、ディーラーのポイントを集計
		int playerPoint = Deck.sumPoint(player);
		int dealerPoint = Deck.sumPoint(dealer);

		System.out.println("あなたの現在のポイントは"
				+ playerPoint + "です");

		//プレイヤーがカードを引くフェーズ
		while (true) {
			System.out.println("カードを引きますか？ Yes:y or No:n");
			//キーボードの入力を受け付けて、変数strに代入する

			Scanner scan = new Scanner(System.in);
			String str = scan.next();

			if ("n".equals(str)) {
				break;
			} else if ("y".equals(str)) {
				//手札に山札から1枚加える
				player.add(deck.get(Deck.deckCount));

				//山札と手札を一枚進める
				Deck.deckCount++;
				Player.setPlayerHands(Player.getPlayerHands() + 1);

				System.out.println("あなたの"
						+ Player.getPlayerHands() + "枚目のカードは"
						+ Deck.toDescription(player.get(Player.getPlayerHands() - 1)));
				playerPoint = Deck.sumPoint(player);
				System.out.println("現在の合計は" + playerPoint);
				//プレイヤーのバーストチェック
				if (Deck.isBusted(playerPoint)) {
					System.out.println("残念、バーストしてしまいました。ディーラーの勝ちです。");
					return;
				}
			} else {
				System.out.println("あなたの入力は"
						+ str + "です。y か n を入力してください。");
			}
		}

		//ディーラーが手札を17以上にするまでカードを引くフェーズ
		while (true) {
			//手札が１７以上の場合ブレーク
			if (dealerPoint >= 17) {
				break;
			} else {
				//手札に山札から1枚加える
				dealer.add(deck.get(Deck.deckCount));
				//山札を1枚進める
				Deck.deckCount++;

				//ディーラーの合計ポイントを計算
				dealerPoint = Deck.sumPoint(dealer);
				//ディーラーのバーストチェック
				if (Deck.isBusted(dealerPoint)) {
					System.out.println("ディーラーがバーストしました。あなたの勝ちです！");
					return;

				}
			}
		}

		//ポイントを比較する
		System.out.println("あなたのポイントは" + playerPoint);
		System.out.println("ディーラーのポイントは" + dealerPoint);

		if (playerPoint == dealerPoint) {
			System.out.println("引き分けです。");
		} else if (playerPoint > dealerPoint) {
			System.out.println("勝ちました！");
		} else {
			System.out.println("負けました・・・");
		}

	}

}
```
```
package blackjack;

import java.util.Collections;
import java.util.List;

public class Deck {

	static int deckCount; //山札の進行状況を記録する変数deckCountを定義

	// 山札（deck）に値を入れ、シャッフルするメソッド
	public static void shuffleDeck(List<Integer> deck) {
		// リストに1-52の連番を代入
		for (int i = 1; i <= 52; i++) {
			deck.add(i);
		}
		// 山札をシャッフル
		Collections.shuffle(deck);
	}

	//現在の合計ポイントを計算するメソッド
	public static int sumPoint(List<Integer> list) {
		int sum = 0;
		for (int i = 0; i < list.size(); i++) {
			sum = sum + toPoint(toNumber(list.get(i)));
		}
		return sum;
	}

	//山札の数をカードの数に置き換えるメソッド
	private static int toNumber(int cardNumber) {
		int number = cardNumber % 13;
		if (number == 0) {
			number = 13;
		}
		return number;
	}

	//山札の通し番号を得点計算用のポイントに変換するメソッド J/Q/Kは10とする
	public static int toPoint(int num) {
		if (num == 11 || num == 12 || num == 13) {
			num = 10;
		}
		return num;

	}

	//山札の数を（スート）の（ランク）の文字列に置き換えるメソッド
	public static String toDescription(int cardNumber) {

		String rank = toRank(toNumber(cardNumber));
		String suit = toSuit(cardNumber);

		return suit + "の" + rank;

	}

	//カード番号をランクに変換するメソッド（A,J,Q,Kなど）
	private static String toRank(int number) {
		switch (number) {
		case 1:
			return "A";

		case 11:
			return "J";

		case 12:
			return "Q";

		case 13:
			return "K";

		default:
			String str = String.valueOf(number);
			return str;
		}

	}

	//山札の数をスートに置き換えるメソッド
	private static String toSuit(int cardNumber) {
		switch ((cardNumber - 1) / 13) {
		case 0:
			return "クラブ";

		case 1:
			return "ダイヤ";

		case 2:
			return "ハート";

		case 3:
			return "スペード";

		default:
			return "例外です";
		}
	}

	//手札がバーストしているか判定するメソッド
	public static boolean isBusted(int point) {
		if (point <= 21) {
			return false;
		} else {
			return true;
		}
	}

}
```
```
package blackjack;

public class Player extends Deck {

	private static int playerHands; //プレイヤーの手札枚数を記録する変数playerHandsを定義

	public static int getPlayerHands() {
		return playerHands;
	}

	public static void setPlayerHands(int playerHands) {
		Player.playerHands = playerHands;
	}



}
```
ネットなどでも調べてみたのですが、限界を感じ。。。
よろしければご教授願います。