非常抱歉,如果这是一个之前已经回答的基本问题(我尝试查找但没有找到任何东西)
我正在尝试编写以下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);
应该做的把戏