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

如何改写Java方法实现字符串按指定次数用` -*- `分隔同行打印

错误原因

  • 判断逻辑不符合需求:原代码中if (num%2 != 0)是判断传入的打印总次数是否为奇数,和“每两个字符串之间加分隔符”的要求没有关联
  • 分隔符内容错误:要求的分隔符前后各有1个空格,应为-*-,你写的-*-缺少了两端的空格
  • 输出顺序错误:你先打印分隔符再打印字符串,会导致最终输出的开头多出来一个多余的分隔符

修正后的代码

package myloops;

public class Quiz {

    public static void myMethod(String name, int num) {
        // 边界处理,传入次数小于1直接退出,避免无效执行
        if (num < 1) {
            return;
        }
        // 第一次直接打印字符串,不需要前导分隔符
        System.out.print(name);
        // 从第二次开始,每次先打印分隔符再打印字符串
        for (int loop = 2; loop <= num; loop++) {
            System.out.print(" -*- ");
            System.out.print(name);
        }
        // 打印完成后换行,避免和后续控制台输出挤在同一行
        System.out.println();
    }

    public static void main(String[] args) {
        myMethod("Matthew", 3);
    }
}

逻辑说明

要实现“两个内容之间加分隔符”的效果,核心是避免在开头或结尾多余打印分隔符:

  1. 先打印第一个字符串,不需要前导分隔符
  2. 从第二个字符串开始,每输出一个字符串前先输出分隔符,保证分隔符只会出现在两个字符串中间

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 03:06:02