减小数字使得数字低位携带最多的9 java
以下是一个减小数字的示例代码,使得数字的低位携带最多的9:
public class Main {
public static void main(String[] args) {
int number = 1234567890; // 要减小的数字
// 将数字转换为字符串,便于操作
String strNumber = String.valueOf(number);
// 遍历字符串,从最低位开始
for (int i = strNumber.length() - 1; i >= 0; i--) {
char c = strNumber.charAt(i);
// 如果当前位是0,则直接替换为9
if (c == '0') {
strNumber = strNumber.substring(0, i) + '9' + strNumber.substring(i + 1);
}
// 如果当前位不是0,则减1,并将低位全部替换为9
else {
int digit = Character.getNumericValue(c);
digit--;
strNumber = strNumber.substring(0, i) + digit + strNumber.substring(i + 1);
strNumber = strNumber.replace('0', '9');
break;
}
}
// 输出减小后的数字
System.out.println(Integer.parseInt(strNumber));
}
}
此代码首先将要减小的数字转换为字符串,然后从最低位开始遍历字符串。如果当前位是0,则直接替换为9;如果当前位不是0,则减1,并将低位全部替换为9。最后输出减小后的数字。
原文地址: https://www.cveoy.top/t/topic/i7uM 著作权归作者所有。请勿转载和采集!