如何修改Java程序以输出去除前导零的整数反转结果
修改后的Java程序:去除前导零的整数反转输出
原程序存在几个问题:只支持正整数输入,输入0时无输出,初始的enable_print赋值逻辑也不够严谨。下面是修复后的代码,能处理正负整数以及0的情况,同时正确去除反转后的前导零:
class Solution { public void solution(int N) { // 处理负数:先输出负号,再处理绝对值部分 if (N < 0) { System.out.print("-"); N = -N; } // 输入为0时直接输出0,避免无输出 if (N == 0) { System.out.print(0); return; } int enablePrint = 0; while (N > 0) { int digit = N % 10; if (enablePrint == 0) { // 遇到第一个非零数字,开启打印并输出该数字 if (digit != 0) { enablePrint = 1; System.out.print(digit); } } else { // 开启打印后,直接输出后续所有数字 System.out.print(digit); } N = N / 10; } } }
关键修改说明:
- 新增负数处理逻辑:输入为负时先输出负号,再将数字转为绝对值处理
- 补充输入为0的判断:直接输出0,解决原程序输入0无输出的问题
- 修正
enablePrint初始值:改为0,从第一个数字开始判断是否为非零,逻辑更直观 - 提取当前位数字到
digit变量,提升代码可读性
内容的提问来源于stack exchange,提问作者shivu2012
相关产品推荐
相关产品推荐

