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

如何用for循环遍历控制台输入字符串,逐个替换字符为J?

Java实现逐个替换字符串指定位置为J并输出所有结果

核心思路

Java里String是不可变类型,每次修改字符都得创建新的字符串实例。我们可以用StringBuilder(可变字符序列)来高效修改指定位置的字符,遍历每个索引时基于原始字符串生成对应位置替换为'J'的新字符串,最后逐个输出即可。

完整可运行代码

import java.util.Scanner;

public class CharReplacementDemo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("INPUT : ");
        String original = scanner.nextLine();
        scanner.close();

        // 遍历每个字符索引,逐个替换为J并输出
        for (int i = 0; i < original.length(); i++) {
            StringBuilder modified = new StringBuilder(original);
            modified.setCharAt(i, 'J');
            System.out.print(modified + " ");
        }
    }
}

代码细节说明

  • 读取输入:用Scanner获取控制台输入的目标字符串。
  • 循环处理每个位置:for循环覆盖字符串的所有索引(从0开始到original.length()-1),确保每个字符位置都被单独替换一次。
  • 高效修改字符:StringBuilder的setCharAt()方法可以直接修改指定索引的字符,相比字符串拼接(如original.substring(0,i) + "J" + original.substring(i+1))性能更好,尤其是处理长字符串时。
  • 输出结果:每次修改后直接输出对应的字符串,多个结果用空格分隔。

测试验证

输入Geese时,程序会输出:Jeese GJJsJ GJJsJ GeeJe GJJsJ,完全符合题目给出的示例要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 12:55:06