
java如何得到一个数的首位
用户关注问题
如何用Java提取一个整数的最高位数字?
我有一个整数,想用Java代码获取它的最高位数字,该怎么实现?
使用循环除法获取最高位数字
可以通过不断将数字除以10,直到数字小于10,此时得到的数字就是最高位数字。示例代码:
int num = 12345;
while (num >= 10) {
num /= 10;
}
System.out.println("最高位数字是:" + num);
有没有快捷方法直接得到整数的首位数字?
除了循环除法,有没有更简便的方法来获取整数的第一位数字?
将数字转换为字符串并取首字符
可以将整数转换成字符串,获取字符串的第一个字符,再将其转换回整数。例如:
int num = 12345;
String str = String.valueOf(num);
int firstDigit = Character.getNumericValue(str.charAt(0));
System.out.println("首位数字是:" + firstDigit);
如何处理负数获取其首位数字?
如果输入的数字可能是负数,使用上述方法是否还能正确得到其首位数字?
先取绝对值再获取首位数字
负数情况下,先用Math.abs()获取数字的绝对值,再用前述方法获取首位数字。例如:
int num = -9876;
num = Math.abs(num);
while (num >= 10) {
num /= 10;
}
System.out.println("首位数字是:" + num);