Java中将用户输入短语按单词拆分生成字符二维数组的实现方法
实现代码
你可以直接修改原有代码如下:
import java.util.Scanner; public class eldertonguetranslator { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String inputtext; System.out.println("Enter you text: "); inputtext = sc.nextLine(); // 按空白字符分割输入字符串,得到单词数组,兼容多空格分隔场景 String[] words = inputtext.trim().split("\\s+"); // 初始化二维字符数组,第一维长度和单词数量一致 char[][] splittext = new char[words.length][]; // 遍历所有单词,逐个转换为字符数组存入二维数组 for (int i = 0; i < words.length; i++) { splittext[i] = words[i].toCharArray(); } // 测试打印代码,可根据实际需求删除 for (char[] word : splittext) { System.out.print("{"); for (int i = 0; i < word.length; i++) { System.out.print(word[i]); if (i != word.length - 1) { System.out.print(", "); } } System.out.println("}"); } } }
关键逻辑说明
- 先用
trim()去除输入字符串首尾的空白字符,避免分割出无效空字符串 split("\\s+")可以匹配任意数量的空白字符作为分隔符,无论单词之间是单个空格、多个空格还是制表符,都能正确拆分- 直接调用
toCharArray()方法即可快速将单个单词转为字符数组,无需手动遍历拆分字符,自动适配不同单词的长度 - Java支持不规则二维数组,第二维不需要提前统一指定长度,每个元素可以是长度不同的一维字符数组,刚好适配长度不同的单词需求
内容的提问来源于stack exchange,提问作者Jasper1378
相关产品推荐
相关产品推荐

