Как мне отсортировать 13 случайных игральных карт по порядку (последовательности) в Java?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как мне отсортировать 13 случайных игральных карт по порядку (последовательности) в Java?

Сообщение Anonymous »

Я хочу заказать 13 игральных карт с порядком треф, бубнов, червей и пик, последовательность 2,3,4,5,6,7,8,9,10,J,Q,K,A.
Например, 4C означает «четверка треф».
Я попробовал использовать код ниже, чтобы упорядочить их с примером северного игрока, вот так

Код: Выделить всё

4H 5H 8C 8D 9H 9D AC 6S 5D 6D KD 10C AD
результат

Код: Выделить всё

8C AC 10C 5D 6D 8D 9D AD KD 4H 5H 9H 6S
Я ожидал результата

Код: Выделить всё

8C 10C AC 5D 6D 8D 9D KD AD 4H 5H 9H 6S
Вот код

Код: Выделить всё

import java.util.ArrayList;

public class Test {

public static void main(String[] args) {
String[] sTest = {"4H", "5H", "8C", "8D", "9H", "9D", "AC", "6S", "5D", "6D", "KD", "10C", "AD" };

for (int i=0;i{
System.out.print(myCard+" ");
});
System.out.println();
}

private static ArrayList sortEnd2Begin(String[] myCards) {
ArrayList myNewCards = new ArrayList();
myNewCards.add(myCards[0]);
for (int i=1;i cB)); // debug
retValue = 1; // ori

} else {
//System.out.println(cA+" = "+cB+" "+(cA == cB));  // debug
retValue = beforeOrAfter(wordA, wordB, iterX+1, iterMax);
}
}
return retValue;
}
}

Отредактировано 20240708.
Функция sortEnd2Begin используется для сортировки массива строк и возврата ArrayList в виде отсортированного массива. функция sortEnd2Begin будет перебирать массив myCards и помещать его в новый список массивов в правильном порядке.
чтобы получить правильный порядок при вставке или добавлении списка массивов, я использую функцию beforeOrAfter для сравнения того, который ниже, равен или выше. если он меньше или равен, он будет вставлен в начало или середину массива. если достигнут конец списка массивов, он добавит значение.
функция beforeOrAfter будет сравнивать символы с символами от конца слова, чтобы определить, какое слово равно, низшего или высшего порядка на основе таблицы ASCII. Функция beforeOrAfter будет рекурсивно работать до тех пор, пока не будет достигнута минимальная длина слова, и определит (возвращаемое значение) -1 (меньше), 0 (равно) или 1 (больше).
функции sortEnd2Begin и beforeOrAfter работают аналогично сортировка имени файла в файловом менеджере, но в обратном порядке.

Подробнее здесь: https://stackoverflow.com/questions/787 ... ce-in-java
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»