Java实现:从4位数字中移除一位获取最大三位数
Java实现:从4位数字中移除一位得到最大三位数
问题描述
给定一个由1-9数字组成的4位整数,移除其中一位数字后得到可组成的最大三位数。输入为4位数字,输出为对应的最大三位数。
示例输入:5438
示例输出:548
解释:移除5得到438,移除4得到538,移除3得到548,移除8得到543,其中548是最大值。
解题思路
由于输入是固定的4位数,总共有4种移除可能,直接枚举所有情况生成对应的三位数,再从中选取最大值即可。这种方法逻辑简单直观,适合处理固定长度的输入。
代码实现
import java.util.Scanner; public class MaxThreeDigitGenerator { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String fourDigitNum = scanner.next(); int maxValue = 0; // 遍历每一位,生成移除该位后的三位数 for (int i = 0; i < 4; i++) { // 拼接移除第i位后的字符串 String threeDigitStr = fourDigitNum.substring(0, i) + fourDigitNum.substring(i + 1); int currentNum = Integer.parseInt(threeDigitStr); // 更新最大值 if (currentNum > maxValue) { maxValue = currentNum; } } System.out.println(maxValue); scanner.close(); } }
代码说明
- 输入处理:将输入的4位数字以字符串形式读取,方便按索引截取子串。
- 枚举所有情况:循环4次,每次移除字符串中索引为
i的字符,拼接成新的三位数字符串。 - 数值比较:将拼接后的字符串转为整数,与当前记录的最大值比较,更新最大值。
- 输出结果:最后打印得到的最大三位数。
测试案例
- 输入:9876 → 输出:987
- 输入:1234 → 输出:234
- 输入:7592 → 输出:792
内容的提问来源于stack exchange,提问作者Dibendu Ghosh
相关产品推荐
相关产品推荐

