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

Java实现句子字符反转功能运行后输出空白是什么原因?

问题根因

你的代码出现空白输出的核心原因是for循环的终止条件设置错误:
原代码循环条件为x < 1,初始x赋值为字符串最后一位的索引total - 1,只要输入的字符串长度≥2,初始x的取值就≥1,完全不满足x < 1的触发条件,循环一次都不会执行,拼接用的invertedsentence始终是空字符串,最终输出自然为空白。
就算输入长度为1的字符串,这个条件也只能覆盖单字符场景,无法适配所有长度的输入。

修复方案

将for循环的终止条件修改为x >= 0即可,因为字符串的索引范围是0 ~ 总长度-1,倒序遍历需要从最后一位一直走到索引为0的第一位,修正后的核心逻辑代码如下:

for ( x = total-1 ; x >= 0 ; x--){
    invertedsentence = invertedsentence + sentence.charAt(x);
}

如果需要优化拼接效率,也可以用StringBuilder代替字符串直接拼接,完整的优化后代码参考:

import java.util.Scanner;

public class ReverseSentence {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("Enter your sentence:");
        String sentence = input.nextLine();
        StringBuilder invertedSb = new StringBuilder();
        
        for (int x = sentence.length() - 1; x >= 0; x--) {
            invertedSb.append(sentence.charAt(x));
        }
        
        System.out.println(invertedSb.toString());
        input.close();
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 05:36:02