思路
利用取模 10 得到当前数值的最后一位
利用除以 10 得到 去掉最后一位后 剩余的数值 (int 除以 int, 小数位会被舍去)
循环条件是当前数值不为 0, 即如果为 0, 那么已经到达最开头的数字
/**
* 遍历数字的每一位
*/
@Test
public void testForEachNumber() {
int num = 12345678;
numberForEach(num);
}
/**
* 倒序遍历数字的每一位
*/
private void numberForEach(int num) {
// 如果本身就为 0, 那么不再遍历
if (num == 0) {
System.out.println(num);
return;
}
// 循环条件是不为 0, 即表示不是最后一位
while (num != 0) {
// 获取到最后一位的数值
int val = num % 10;
System.out.println(val);
// 下次循环的条件
// 把当前数值砍掉最后一位
num /= 10;
}
}
总结: 做题思路很重要.
之前, 自己都是死记硬背.
之后, 应该更多关注解题思路, 举一反三才行