编写一个Java程序。由键盘输入一个不多于9位的正整数,判断并输出它是几位数。
时间: 2025-06-26 15:15:33 浏览: 12
### Java程序实现
以下是用于计算用户输入的正整数位数的Java程序:
```java
import java.util.Scanner;
public class DigitCounter {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个正整数(最多9位):");
int number = scanner.nextInt();
if (number >= 0 && number <= Math.pow(10, 9)) { // 验证范围是否合法[^1]
int digitCount = countDigits(number);
System.out.println("该正整数有 " + digitCount + " 位。");
} else {
System.out.println("输入错误!请输入有效的正整数(最多9位)。");
}
scanner.close();
}
private static int countDigits(int num) {
if (num == 0) return 1;
int count = 0;
while (num != 0) {
num /= 10;
count++;
}
return count;
}
}
```
上述代码实现了以下功能:
- 用户通过控制台输入一个正整数。
- 使用`countDigits`方法计算该整数的位数。
- 输出结果并验证输入的有效性。
此程序假设用户的输入是一个不超过9位的正整数,如果超出这个范围,则会提示错误信息。
### 方法解释
为了完成这一任务,采用了循环结构来逐次除以10的方式减少数值大小,并计数每次操作直到原数值变为零为止。这种方法能够有效处理任意长度的正整数,只要它满足题目中的条件即最大为九位数[^2]。
阅读全文
相关推荐

















