酷代码 AI
菜单
服务商
DeepSeek字节豆包讯飞星火
更多选项

Java 实现:输入文字统计、替换及数字提取,含代码示例

以下是符合要求的Java代码实现: ```java package abc; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class ab { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); StringBuilder text = new StringBuilder(); String line; while (true) { line = scanner.nextLine(); if (line.equals("end")) { break; } text.append(line).append("\n"); } String inputText = text.toString(); int letterCount = countLetters(inputText); System.out.println(letterCount); String replacedText = replaceTheWithA(inputText); System.out.print(replacedText); List<String> numbers = extractNumbers(inputText); for (String number : numbers) { System.out.println(number); } } private static int countLetters(String text) { int count = 0; for (char c : text.toCharArray()) { if (Character.isLetter(c)) { count++; } } return count; } private static String replaceTheWithA(String text) { return text.replaceAll("(?i)\\bthe\\b", "a"); } private static List<String> extractNumbers(String text) { List<String> numbers = new ArrayList<>(); StringBuilder currentNumber = new StringBuilder(); for (char c : text.toCharArray()) { if (Character.isDigit(c)) { currentNumber.append(c); } else { if (currentNumber.length() > 0) { numbers.add(currentNumber.toString()); currentNumber.setLength(0); } } } if (currentNumber.length() > 0) { numbers.add(currentNumber.toString()); } return numbers; } } ``` 代码说明: 1. 使用Scanner读取多行输入,直到遇到"end"结束标记 2. countLetters方法统计英文字母数量 3. replaceTheWithA方法使用正则表达式替换所有独立的"the"单词为"a"(不区分大小写) 4. extractNumbers方法提取所有连续的数字串 5. 输出结果按照要求格式:字母数量、替换后的文本、提取的数字串 注意: - 包名和类名严格按要求设置为abc和ab - 处理了数字串可能跨行的情况 - 替换the时确保是完整单词(使用\b单词边界) ######[AI问答 | 521点数解答 | 2025-04-03 17:34:20]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]