目录
- 专栏导读
- 一、题目描述
- 二、输入描述
- 三、输出描述
- 四、解题思路
- 五、Java算法源码
- 六、Java算法源码投机取巧
- 七、效果展示
华为OD机试 2023B卷题库疯狂收录中,刷题点这里
专栏导读
本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷)》。
刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。
一、题目描述
输入一个整数,将这个整数以字符串的形式逆序输出。
程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001。
二、输入描述
输入一个int整数。
三、输出描述
将这个整数以字符串的形式逆序输出。
四、解题思路
- 读取输入的整数;
- 创建一个变量reversedNumber,初始值为0,用于存储反转后的整数;
- 使用循环,不断进行以下步骤,直到输入的整数变为0;
- 取输入的整数的个位数,可以使用取模运算(% 10)获取;
- 将取得的个位数加到reversedNumber的末尾,可以使用乘以10再加上个位数的方式实现;
- 将输入的整数除以10,以去除已经处理过的个位数;
- 循环结束后,reversedNumber中存储的就是输入整数的逆序形式;
- 将reversedNumber转换为字符串,并输出结果。
五、Java算法源码
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
int reversedNumber = 0;
while (number != 0) {
int digit = number % 10;
reversedNumber = reversedNumber * 10 + digit;
number /= 10;
}
System.out.println(reversedNumber);
}
六、Java算法源码投机取巧
将数字转为number,再倒序打印。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
String str = String.valueOf(number);
String ret = "";
for (int i = str.length() - 1; i >= 0; i--) {
ret +=str.charAt(i);
}
System.out.println(ret);
}
我草,还可以这样,出题老师岂不是要气吐血,最好不要这样写。
再升级一下?
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
String str = String.valueOf(number);
StringBuilder builder = new StringBuilder(str);
System.out.println(builder.reverse());
}
七、效果展示
🏆下一篇:华为OD机试真题 Java 实现【简易内存池】【2023 B卷 200分 考生抽中题】
🏆本文收录于,华为OD机试(JAVA)真题(A卷+B卷)
刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。