| | |
| | | return Integer.parseInt(staNo); |
| | | } |
| | | } |
| | | |
| | | public static String formatCode(String input) { |
| | | if (input == null || input.length() != 7 || !input.matches("\\d+")) { |
| | | throw new IllegalArgumentException("输入必须是7位数字"); |
| | | } |
| | | |
| | | // 根据示例分析拆分规则: |
| | | // "0500708" -> "05", "07", "08" (跳过第3位) |
| | | // "0201001" -> "02", "10", "01" |
| | | // "1001010" -> "10", "10", "10" |
| | | // "0500210" -> "05", "02", "10" |
| | | |
| | | // 拆分规则:第1-2位,第4-5位,第6-7位(跳过第3位) |
| | | String part1 = input.substring(0, 2); // 前两位 |
| | | String part2 = input.substring(3, 5); // 第4-5位(跳过第3位) |
| | | String part3 = input.substring(5, 7); // 第6-7位 |
| | | |
| | | // 去除前导零并格式化为两位数 |
| | | String formattedPart1 = String.format("%02d", Integer.parseInt(part1)); |
| | | String formattedPart2 = String.format("%02d", Integer.parseInt(part2)); |
| | | String formattedPart3 = String.format("%02d", Integer.parseInt(part3)); |
| | | |
| | | return "F-F01-" + formattedPart1 + "-" + formattedPart2 + "-" + formattedPart3; |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | // 测试所有示例 |
| | | System.out.println("0500708 -> " + formatCode("0500708")); // F-F01-05-07-08 |
| | | System.out.println("0201001 -> " + formatCode("0201001")); // F-F01-02-10-01 |
| | | System.out.println("1001010 -> " + formatCode("1001010")); // F-F01-10-10-10 |
| | | System.out.println("0500210 -> " + formatCode("0500210")); // F-F01-05-02-10 |
| | | |
| | | // 验证长度是否为14个字符 |
| | | String result = formatCode("1000110"); |
| | | System.out.println("结果长度: " + result.length() + " 字符: " + result); |
| | | } |
| | | } |