最简单 的方法是使用 String.valueOf(Math.abs((long)x)).charAt(0) - 这将为您提供 char 1 。要将其作为整数值,您只需减去“0”(因为在 Unicode 中,“0”到“9”是连续的)。 当然,这有点浪费。另一种方法是取绝对值,然后循环除以 10,直到数字在 0-9 范围内。如果这是家庭作业,这就是我要给出的答案。但是,我不会为其提供代码,因为我认为这 可能 是家庭作业。但是,如果您提供评论并编辑您的答案以解释您的做法和遇到的问题,我们可能会提供帮助。 1需要注意的一个棘手问题是 Integer.MIN_VALUE 的绝对值不能表示为 int - 因此您可能应该先转换为 long 然后使用 Math.abs , 然后 做算术。这就是为什么那里有演员表的原因。 原文由 Jon Skeet 发布,翻译遵循 CC BY-SA 2.5 许可协议
最简单 的方法是使用
String.valueOf(Math.abs((long)x)).charAt(0)
- 这将为您提供char
1 。要将其作为整数值,您只需减去“0”(因为在 Unicode 中,“0”到“9”是连续的)。当然,这有点浪费。另一种方法是取绝对值,然后循环除以 10,直到数字在 0-9 范围内。如果这是家庭作业,这就是我要给出的答案。但是,我不会为其提供代码,因为我认为这 可能 是家庭作业。但是,如果您提供评论并编辑您的答案以解释您的做法和遇到的问题,我们可能会提供帮助。
1需要注意的一个棘手问题是
Integer.MIN_VALUE
的绝对值不能表示为int
- 因此您可能应该先转换为long
然后使用Math.abs
, 然后 做算术。这就是为什么那里有演员表的原因。