Я пытаюсь ранжировать массив отсортированных покерных карт, но не могу найти способ удостовериться, что порядок рангов алфавитов, прикрепленных к мастям, идет как (AKQJT), например, мой вывод показывает HT (сердце десять)) быть больше, чем HJ (сердечный шутник), когда должно быть наоборот.
private void sort2D (String [][] twoD)
{
// to compile sorted array
ArrayList<String> toCompileSorted = new ArrayList<String> ();
for (int row = 0; row < twoD.length; row++)
{
String [] sorted2D = new String [MAXC]; // MAXC = 13
for (int column = 0; column < twoD[row].length; column++)
{
sorted2D [column] = twoD [row][column];
}
// 2d array becomes ascending only row by row, not everything
Arrays.sort (sorted2D);
// make sure it goes by A-K-Q-J-T ???
// array split according to letter ranks ??
for (String s : sorted2D)
{
toCompileSorted.add (s);
}
}
// put back into 2d array
int i = 0;
for (int row = 0; row < twoD.length; row++)
{
for (int column = 0; column < twoD[row].length; column++)
{
twoD [row][column] = toCompileSorted.get(i);
i++;
}
}
}
C6 C7 CJ CT D8 H2 HJ HT S3 S5 S6 S7 SA
5 - 3 - 1 - 4
C2 C3 C8 CK D4 D7 DK DQ H3 H7 HA HK SQ
1 - 4 - 4 - 4
C4 C9 CA CQ D2 D5 H5 H9 HQ S2 S8 S9 SJ
4 - 3 - 2 - 4
C5 D3 D6 D9 DA DJ DT H4 H6 H8 S4 SK ST
3 - 3 - 6 - 1
Это мой результат (игнорируйте числа под каждой строкой), в первом ряду, CJ(клубный джокер) больше чем CT (клубная десятка), но результат показывает иначе, то же самое происходит и для других рядов.