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

如何基于指定分隔符索引将字符数组前半部分移动到数组末尾

实现思路

你要做的操作本质是基于分隔符位置的数组切片拼接,不需要引入额外工具类,直接通过两次循环分别给新数组赋值即可:

  • 第一步:将原数组中分隔符之后的所有元素,按顺序赋值到新数组的起始位置
  • 第二步:将原数组中开头到分隔符(含分隔符)的所有元素,按顺序拼接在新数组已赋值内容的后面
修正后完整代码
public class ArrayTest {

    public static void main(String[] args) {

        String s = "Hello, World!";
        
        char[] oldCharArray = s.toCharArray();
        char[] newCharArray = new char[oldCharArray.length];
        char delimiter = ',';
        int indexDelimiter = new String(oldCharArray).indexOf(delimiter);

        // 赋值分隔符之后的内容到新数组开头
        int newArrIndex = 0;
        for (int i = indexDelimiter + 1; i < oldCharArray.length; i++) {
            newCharArray[newArrIndex] = oldCharArray[i];
            newArrIndex++;
        }

        // 赋值分隔符及之前的内容到新数组末尾
        for (int i = 0; i <= indexDelimiter; i++) {
            newCharArray[newArrIndex] = oldCharArray[i];
            newArrIndex++;
        }
        
        // 输出结果
        for (int i = 0; i < newCharArray.length; i++) {
            System.out.print(newCharArray[i]);
        }
    }
}
代码说明
  1. 你原来的循环只做了单个元素的移动,所以只能把首字符移到末尾,现在改成按indexDelimiter作为切片边界,直接批量移动整段内容
  2. 全程只用到原生数组的读写操作,没有引入任何集合类,符合你的要求
  3. 运行上述代码输出结果就是你需要的 World!, Hello

内容的提问来源于stack exchange,提问作者dftag

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 17:45:02