本文讲解如何通过取模(%)和整数除法精准提取三位整数的百位、十位和个位数字,纠正常见误区(如 `(n % 10) / 10` 恒为 0),并提供可直接运行的 java 示例代码。
在处理用户输入的三位整数(如 472)并希望将其拆分为三个独立数字(4、7、2)时,关键在于
理解整数除法与取模运算的数学含义:
原代码中 int b = (number % 10) / 10; 错误地先取了个位(如 472 % 10 = 2),再除以 10 得 0——这是整数除法的必然结果,无法得到十位。
✅ 正确逻辑如下(以 number = 472 为例):
完整修正代码:
import java.util.Scanner;
public class DigitSeparator {
public static void main(String[] args) {
Scanner read = new Scanner(System.in);
System.out.println("Input the number (must be a 3-digit integer):");
int number = read.nextInt();
int a = number % 10; // 个位
int b = (number / 10) % 10; // 十位(关键修正!)
int c = number / 100; // 百位
System.out.println(c + " " + b + " " + a);
read.close();
}
}⚠️ 注意事项:
掌握这一组合技巧,你就能灵活解析任意整数的每一位数字。