JAVA 输出整数的每一位

此处只考虑正整数,且只使用简单运算
负整数的话判断下然后取相反数,剩下同理

// 从右往左输出
class ExtractDigits {
	public static void main(String[] args)
	{
		int number = 123456789;
		// 依次输出最后一位数字
		while (number > 0) {
			// 对10取模得最后一位数字
			int remainder = number % 10;
			// 输出最后一位数字
			System.out.println(remainder);
			// 移除最后一位数字
			number = number / 10;
		}
	}
}


class ExtractDigits {
	public static void main(String[] args){
		printDigits(123);
	}
	// 首先输入num=123,num/10=12>0进入if, 并且以num=12进入第二层递归
	// num=12, num/10=1>0进入if, 并且以num=1进入第三层递归
	// num=1, num/10=0!>0, 跳过if输出1%10,即1,然后以返回第二层递归
	// 在第二层已经执行完if语句段,num=12(进入第二次递归时的num值),输出12%10,即2,然后返回第一层递归
	// 在第一层已经执行完if语句段,num=123(进入第一次递归时的num值),输出123%10,即3,递归完成
	public static void printDigits(int num) {
		System.out.printf("num=%d\n", num);
		if(num / 10 > 0) {
			System.out.printf("num/10=%d\n", num / 10);
			printDigits(num / 10);
		}
		System.out.printf("%d ", num % 10);
	}
}


在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值