✅创作者:陈书予
🎉个人主页:陈书予的个人主页
🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区
🌟专栏地址: Java华为OD机试真题(2022&2023)
文章目录
- 1. 题目描述
- 2. 输入描述
- 3. 输出描述
- 4. Java算法源码
- 5. 测试
- 6.解题思路
1. 题目描述
输入一个整数,将这个整数以字符串的形式逆序输出
程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001。
2. 输入描述
输入一个int整数
3. 输出描述
将这个整数以字符串的形式逆序输出。
4. Java算法源码
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int in = sc.nextInt();
reverseAndPrint(in);
}
private static void reverseAndPrint(int number) {
int reversedNumber = 0;
while (number != 0) {
int digit = number % 10;
reversedNumber = reversedNumber * 10 + digit;
number /= 10;
}
System.out.println(reversedNumber);
}
5. 测试
示例输入 | 示例输出 |
---|---|
110112 | 211011 |
123123 | 321321 |
6.解题思路
- 读取输入的整数。
- 创建一个变量
reversedNumber
,初始值为0,用于存储反转后的整数。 - 使用循环,不断进行以下步骤,直到输入的整数变为0:
- 取输入的整数的个位数,可以使用取模运算(
% 10
)获取。 - 将取得的个位数加到
reversedNumber
的末尾,可以使用乘以10再加上个位数的方式实现。 - 将输入的整数除以10,以去除已经处理过的个位数。
- 取输入的整数的个位数,可以使用取模运算(
- 循环结束后,
reversedNumber
中存储的就是输入整数的逆序形式。 - 将
reversedNumber
转换为字符串,并输出结果。