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

Java实现字符串首尾交替打印,for循环打印语句无输出求助

问题原因与解决方案

你的循环完全没有执行,核心问题出在循环条件的逻辑错误上:

  1. 先看数值计算:字符串"abca"的长度是4,string.length()/2+1的结果是4/2+1=3。
  2. 循环初始值为i=0,j=3,而你设置的循环条件是i<3 && j>3——j的初始值是3,j>3直接不成立,整个&&逻辑判断为false,循环直接跳过,自然没有任何输出。

修正方案

根据你“依次打印首字符、尾字符”的需求,应该把循环条件改成i <= j,这样能覆盖所有首尾配对的场景(包括字符串长度为奇数时的中间单个字符):

public class JavaOOP {
    public static void main(String args[]){
        String string = "abca";
        // 修改循环条件为i <= j,确保所有配对场景都能执行
        for(int i=0,j=string.length()-1;i <= j;i++,j--){
            System.out.println(string.charAt(i)+ " " + string.charAt(j));
        }
    }
}

运行后会输出:

a a
b c

如果你的需求是只打印成对的字符(不重复打印中间单个字符),可以把条件改成i < j,效果和上面一致(因为当前字符串长度为偶数);如果是长度为5的字符串,就会自动跳过中间的单个字符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 14:12:44