求助各位大神 这个错哪里了

来源:2-6 Java 中的 StringBuilder 类的常用方法

慕无忌6063789

2020-01-20 19:21

public class HelloWorld {

    public static void main(String[] args) {

// 创建一个空的StringBuilder对象

StringBuilder str=new StringBuilder();

        

// 追加字符串

str.append("jaewkjldfxmopzdm");

        // 从后往前每隔三位插入逗号

        int i=str.length();

        do{

            i=i-3;

            str.insert(i,',');

            

        }

        while (1>0);

        

        // 将StringBuilder对象转换为String对象并输出

System.out.print(str.toString());

}

}


写回答 关注

7回答

  • 慕粉2235138145
    2020-05-06 16:27:07

    判断条件改为 i>3 即可!否则报错

  • qq_破镜重圆_0
    2020-04-25 16:28:05

    执行str.insert()方法之后,再改变 i 的值,

    str.insert();

    i -=3;

    i -=3 不能在insert方法之前

  • Zzz39
    2020-03-06 15:04:29
    // 创建一个空的StringBuilder对象
    StringBuilder str = new StringBuilder();
    // 追加字符串
    str.append("jaewkjldfxmopzdm");
    // 从后往前每隔三位插入逗号
    int i = str.length();
    while (i > 1) {
        i--;
        if (i % 3 == 0) {
            str.insert(i-2, ",");
        }
    }
    // 将StringBuilder对象转换为String对象并输出
    System.out.println(str.toString());


  • mushji
    2020-02-22 22:56:00

    你不能用do while循环,因为当i等于1的时候他还会在执行一次1-3=-2;因为str中没有负2的的位置所以出现异常,运行时报错,你应该使用先判断在循环的语句执行。


  • 回头的浪子i
    2020-02-20 21:26:36
    public static void main(String[] args) {
        StringBuilder str = new StringBuilder();
        str.append("jaewkjldfxmopzdm");
        int i = str.length()-3;
        while(i>=0){
            str.insert(i, ',');
            i = i - 3;
    
        }
        System.out.println(str.toString());
    }


  • 蝎儿
    2020-02-06 13:45:26

    i = i - 3;

    if (i > 0)

        str.insert(i, ',');

    最后一遍的i已经小于0了,但你还是强行插入

  • 你是魔鬼嘛_dev
    2020-01-20 19:48:21

    public class HelloWorld {

        public static void main(String[] args) {

    // 创建一个空的StringBuilder对象

    StringBuilder str=new StringBuilder();

            

    // 追加字符串

    str.append("jaewkjldfxmopzdm");


            // 从后往前每隔三位插入逗号


            int i=str.length();

            do{

                i=i-3;

                str.insert(i,',');

                

            }

            while (i>0);

            


            // 将StringBuilder对象转换为String对象并输出

    System.out.print(str.toString());


    }

    }


    慕无忌606...

    我复制了你的,还是不行啊。。。

    2020-01-20 20:47:42

    共 1 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题