为了账号安全,请及时绑定邮箱和手机立即绑定

为每个循环添加 1 个额外的字符到字符串

为每个循环添加 1 个额外的字符到字符串

C#
绝地无双 2022-01-09 16:51:40
我有一个仅以 1 个字符“$”开头的字符串。我创建了一个运行 4 次的循环,每次,我希望我的字符串附加 1 个额外的“$”。所以当程序运行时,它应该会导致:$$$$$$$$$$到目前为止,这是我的尝试:        string draw = "";        int counter = 0;        while (counter < size) // size is 4        {            counter++;            draw += "$\n";        }所以目前它导致:$$$$一旦我得到这个太工作,我也想在它达到大小后每次减少 1。因此,如果大小为 4,则应如下所示:$$$$$$$$$$$$$$$$
查看完整描述

3 回答

?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

您可以使用以下代码


        int size = 4;

        string draw = "";



        while (size>0) // size is 4

        {

            size--;

            draw += "$";

            Console.WriteLine(draw);

        }


        while (draw.Length > 1)

        {

            size++;

            draw = draw.Substring(0, draw.Length - 1);

            Console.WriteLine(draw);

        }


查看完整回答
反对 回复 2022-01-09
?
MYYA

TA贡献1868条经验 获得超4个赞

因为每次在 $ 字符后插入一个换行符。我认为您应该使用另一个变量来存储结果。此代码将起作用:


int size = 4;

string draw = "";

int counter = 0;

string res = "";


while (counter < size) // size is 4

{

    counter++;

    draw += "$";

    res += draw + "\n";

}

while (counter > 0)

{

    counter--;

    draw = draw.Remove(draw.Length - 1, 1);

    res += draw + "\n";

}

最好使用 StringBuilder 而不是仅仅连接一个字符串以获得更好的性能:


int size = 4;

int counter = 0;

var sb = new StringBuilder();

while (counter < size) // size is 4

{

    counter++;

    sb.Append("$");

    Console.WriteLine(sb.ToString());

}

要从字符串末尾删除一个字符,您可以使用 Remove 方法,如下所示:


while (counter > 0) // size is 4

{

    counter--;

    sb.Remove(sb.Length - 1, 1);

    Console.WriteLine(sb.ToString());

}


查看完整回答
反对 回复 2022-01-09
?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

你参考下面的代码,


https://www.csharpstar.com/10-different-number-pattern-programs-in-csharp/


       Console.Write("Enter a number: ");

        int n = Convert.ToInt32(Console.ReadLine());


        Console.WriteLine();


        for(int i = 1; i < n; i++)

        {

            for(int j = 1; j <= i; j++)

                Console.Write("$");

            Console.WriteLine();

        }

        for(int i = n; i >= 0; i--)

        {

            for(int j = 1; j <= i; j++)

                Console.Write("$");

            Console.WriteLine();

        }

        Console.WriteLine();


查看完整回答
反对 回复 2022-01-09
  • 3 回答
  • 0 关注
  • 298 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号