Java如何将处理后的句子每个字符存入等长vector数组
解决方案
你的现有实现逻辑完全正确,先处理输入字符串得到无空格全大写的结果,再根据结果长度初始化容器是最高效的实现方式,只需要补全字符提取、容器赋值、结果输出三个步骤的代码即可。
完整可运行代码
import java.util.Scanner; // 如果需要使用Java标准Vector类,追加下面的导入 // import java.util.Vector; public class Main { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); System.out.println("Type a phrase."); String phrase = entrada.nextLine(); // 去空格+转大写 phrase = phrase.replace(" ", "").toUpperCase(); System.out.println(); System.out.println(phrase); int characters = phrase.length(); System.out.println("The phrase has " + characters + " characters"); // 方案1:用数组实现(你现有代码用的数组逻辑) char[] vet = new char[characters]; // 方案2:用Java标准Vector类实现,替换上面数组定义即可 // Vector<Character> vet = new Vector<>(characters); // 逐字符存入容器 for (int i = 0; i < characters; i++) { // 数组赋值 vet[i] = phrase.charAt(i); // Vector赋值,用下面这行替换上面的数组赋值即可 // vet.add(phrase.charAt(i)); } // 输出容器全部内容 System.out.println("容器全部内容:"); // 数组遍历输出 for (int i = 0; i < vet.length; i++) { System.out.printf("索引%d:%c%n", i, vet[i]); } // Vector遍历输出,替换上面的数组遍历即可 // for (int i = 0; i < vet.size(); i++) { // System.out.printf("索引%d:%c%n", i, vet.get(i)); // } entrada.close(); } }
核心语法说明
String.charAt(索引)方法可以提取字符串指定位置的单个字符,索引从0开始计数,和数组、Vector的索引规则完全匹配,直接赋值即可- 如果需要保留你原本定义的
String[]数组格式,把赋值逻辑改成vet[i] = String.valueOf(phrase.charAt(i));即可
内容的提问来源于stack exchange,提问作者Wanderer
相关产品推荐
相关产品推荐

