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]
- Java 实现复制粘贴功能:打造简易文本复制粘贴程序(GPT | 1497点数解答 | 2024-08-25 09:40:33)419
- Java实现链表反转:迭代与递归双解法详解及开发实战指南(DeepSeek | 1409点数解答 | 2026-03-15 15:09:29)44
- C++ 实现:精准统计给定范围 [L, R] 内数字 2 出现的次数及代码详解(字节豆包 | 401点数解答 | 2026-02-05 21:17:05)52
- C++实现:统计[L, R]范围内数字2出现的次数及代码详解(字节豆包 | 489点数解答 | 2026-02-07 17:12:26)65
- 解决数据库“dm.jdbc.driver.dmexception: 数据溢出”问题的全步骤指南(阿里通义 | 598点数解答 | 2024-10-15 15:48:38)321
- 达梦数据库数据溢出问题排查及多维度解决方法(阿里通义 | 403点数解答 | 2024-10-15 15:48:41)1194
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)362
- Python 实现列字符串替换:将 \t 换为空格及处理注意要点(字节豆包 | 127点数解答 | 2025-03-14 17:29:22)190
- 探寻数组中最长摆动子序列长度:思路剖析与代码优化(GPT | 758点数解答 | 2024-12-23 23:18:29)280
- 独家剖析:求解数组最长摆动子序列长度的代码实现与改进建议(GPT | 350点数解答 | 2024-12-23 23:20:54)278
- 计算区间 n 到 m 中数字 x 出现次数的 Python 实现与详解(字节豆包 | 289点数解答 | 2025-12-07 17:14:59)89
- Python 实现:计算区间 n 到 m 中数字 x 出现的次数(字节豆包 | 322点数解答 | 2025-12-13 21:37:08)90