小白学JAVA之三——利用循环结构逆序输出任意正整数

小白学JAVA之四——利用循环结构逆序输出任意正整数

一. 原理分析

以输入的正整数1234为例:
在这里插入图片描述
因此,可以利用循环结构,每一次执行相同的取余和取整循环体,直至取整的结果为零。
代码如下:

public static void main(String[] args) {
		
		// 1.提示用户输入一个正整数并使用变量记录  
		System.out.println("请输入一个正整数:");
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		
		// 2.使用while循环进行拆分并打印
		while(num > 0) {
			System.out.print(num % 10);  // 拆分个位数
			num /= 10;  // 丢弃个位数
		}
	}

二. 改进

上一部分的代码只是每提取一次个位数就将它从循环中输出,并没有重新生成一个真正的逆序整数,因此需要将代码进行改进:

  • 我们可以声明一个新变量用于存储生成的逆序整数并将它初始化为0。在执行循环体中,只需将该变量乘以10提升阶位,再与每次提取出的个位数相加即可。

代码如下:

/*
    编程使用while循环实现任意正整数的反向输出
 */

import java.util.Scanner; 
 
public class WhileReverseTest {
	
	public static void main(String[] args) {
		
		// 1.提示用户输入一个正整数并使用变量记录  123
		System.out.println("请输入一个正整数:");
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
	
		// 2.使用while循环拆分整数中的每个数字并记录到变量中
		int res = 0;
		int temp = num;  // 指定变量作为num的替身
		while(temp > 0) {
			res = res*10 + temp % 10; // 3     32   321
			temp /= 10;               // 12    1    0
		}
		
		// 3.打印逆序后的结果
		System.out.println(num + "逆序后的结果是:" + res);
	}
}
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值