此问题包括前导零和数字的数字,通常计为十六进制(如09)。假设用户输入为整数,因为我将数字作为整数传递给某个函数。
例如
(注)以下方法不起作用:
String.valueOf(integer).length()
答案 0 :(得分:1)
用户输入可能已经是String
,因此您只能使用String.length()
。例如:
public static void main(String... args) {
Scanner in = new Scanner(System.in);
String number = in.next();
int numDigits = number.length();
System.out.println(numDigits);
}
如果输入是整数,则它不能有前导零。如果初始输入为零并且您在某个时刻将其转换为整数,则会丢失此信息。
答案 1 :(得分:1)
仅当您想要的数字是String时才有效。你没有0005整数,除非它不是一个整数,而是一个String。
您必须将这些数字保存为String而不是int才能使其正常工作。然后,您可以使用.length()
方法