非常抱歉,如果这是一个之前已经回答的基本问题(我尝试查找但没有找到任何东西)

我正在尝试编写以下Java方法:

 String winningCard(String trick, char trump) {
    StringBuilder sb = new StringBuilder();
    char suit;
    char rank;
    for(int i = 1;   i < trick.length(); i+=2) {
        if(trick.charAt(i) == trump) {
            suit = trick.charAt(i);
            rank = trick.charAt(i-1);
            sb.append(rank + suit); //issue here, returns a weird number
            break;
        }
    }
    String result = sb.toString();
    return result;
}


当使用这些参数“ 8s7hQd”(例如“ h”)调用时,应返回“ 7h”。

如果我将StringBuilder更改为仅追加西装或等级,它就可以了,但是如果按上面的方式放置它,它会返回“ 159”,我认为这与Unicode编码有关。

如果一个善良的灵魂能够告诉我我所缺少的,我将非常感激。

提前致谢

最佳答案

append(rank).append(suit);


应该做的把戏

09-08 12:12