You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 14:24:03