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

Java初学者求助:如何用for循环实现指定字符串截短输出效果

解决Java字符串逐次截首输出的问题

嘿,我来帮你搞定这个需求!你想要实现的是输入一个单词,然后依次输出去掉首字母的子串,直到只剩最后一个字符对吧?

先看看你现有代码的小问题:你写的循环从wordEntered.length()开始,到i>=0结束,这里会导致输出空字符串,而且循环逻辑刚好搞反了方向。

修正后的完整代码

import java.util.Scanner;

public class javapdf2413_17 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("Enter in a single word");
        String wordEntered = in.next();
        
        // 从索引0开始,逐次截取从当前索引到末尾的子串
        for (int i = 0; i < wordEntered.length(); i++) {
            System.out.print(wordEntered.substring(i) + " ");
        }
    }
}

关键逻辑解释

  • substring(i)方法会返回从索引i开始到字符串末尾的子串:当i=0时就是原单词,i=1时去掉第一个字符,以此类推
  • 循环从i=0到i < wordEntered.length(),刚好覆盖所有非空的目标子串(比如输入"Canada"时,i从0到5,对应6个符合要求的子串)
  • 用System.out.print代替println,能让所有结果在同一行用空格分隔;如果想每个子串单独换行,换成println即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:37:10