2 回答
TA贡献1725条经验 获得超7个赞
本质上,您还应该首先检查右侧第二个数字是否为 1。要获取右侧第二个数字,请使用以下表达式:
number / 10 % 10
这/ 10使得从右边算起的第二个数字成为第一个数字,% 10正如您所知,这就是如何获得从右边算起的第一个数字。
所以你的代码看起来像这样:
if (number / 10 % 10 == 1) { // check second digit from the right first
suffix = "th";
} else { // if it's not 1, do the switch.
switch(abc%10){
case 1: suffix = "st";break;
case 2: suffix = "nd";break;
case 3: suffix = "rd";break;
default: suffix = "th";
}
}
System.out.println(abc+suffix);
TA贡献1841条经验 获得超3个赞
也许我们应该分别处理 4 到 20 号。您能检查一下这是否有效吗?
if (abc > 3 && abc < 21) { // 4 to 20
suffix = "th";
}
else {
switch (abc % 10) { //get the last digit of the value
case 1:
suffix = "st";
break;
case 2:
suffix = "nd";
break;
case 3:
suffix = "rd";
break;
default:
suffix = "th";
}
}
添加回答
举报