У меня есть класс «Card», который хранит символ и целое число. Я передаю символ Юникода карты (значения Юникода взяты с этой страницы Википедии: https://en.wikipedia.org/wiki/Playing_cards_in_Unicode) в экземпляр карты. Ниже показано, как выглядит класс.
В моем основном методе я пытаюсь распечатать символы Юникода в ArrayList, но все, что я получаю от консоли, это ? характер. Кроме того, я попытался создать экземпляр PrintStream с кодировкой «UTF-8», но, похоже, это тоже не работает. Я получаю только такие результаты: ∩é▒. Ниже показано, как выглядит мой основной метод.
У меня есть класс «Card», который хранит символ и целое число. Я передаю символ Юникода карты (значения Юникода взяты с этой страницы Википедии: https://en.wikipedia.org/wiki/Playing_cards_in_Unicode) в экземпляр карты. Ниже показано, как выглядит класс. [code]import java.util.ArrayList; import java.util.Collections;
public class Card { protected char unicodeCard; protected int value;
public Card() {}
public Card(char unicodeCard, int value) { this.unicodeCard = unicodeCard; this.value = value; }
public void shuffle(ArrayList deck) { Collections.shuffle(deck); }
public char getCardChar() { return this.unicodeCard; } } [/code] В моем основном методе я пытаюсь распечатать символы Юникода в ArrayList, но все, что я получаю от консоли, это ? характер. Кроме того, я попытался создать экземпляр PrintStream с кодировкой «UTF-8», но, похоже, это тоже не работает. Я получаю только такие результаты: ∩é▒. Ниже показано, как выглядит мой основной метод. [code]public static void main(String[] args) throws UnsupportedEncodingException { PrintStream out = new PrintStream(System.out, true, "UTF-8"); Card card = new Card(); ArrayList deck = card.buildDeck(); for (int i = 0; i < deck.size(); i++) { out.println(deck.get(i).getCardChar()); } } [/code] Пожалуйста, дайте мне знать, если я могу предоставить дополнительную информацию. Заранее благодарим вас за любую помощь! :)