如何实现C#控制台程序接收输入并输出对应数量星号?
嘿,我注意到你原本想要实现的是「输入一个数值,控制台输出对应数量的单行星号」,但你现在贴的代码其实是在生成一个size×size的星号正方形哦😯。我帮你调整成符合需求的版本,顺便给你优化一下代码的健壮性:
实现输入数值输出对应数量单行星号的方案
修正后的简洁代码
using System; namespace AsteriskOutput { class Program { static void Main(string[] args) { Console.Write("请输入一个数值:"); // 用TryParse避免输入非数字时程序崩溃 if (int.TryParse(Console.ReadLine(), out int starCount)) { // 一行代码生成对应长度的星号字符串 Console.WriteLine(new string('*', starCount)); } else { Console.WriteLine("请输入有效的整数哦!"); } Console.ReadKey(); } } }
代码说明
- 替换
Convert.ToInt32为int.TryParse:如果用户不小心输入了字母、符号这类非数字内容,程序不会直接崩溃,而是给出友好提示,更健壮。 new string('*', starCount):这是C#里生成重复字符字符串的简便写法,比循环更简洁高效。如果你偏爱用循环实现,也可以换成这段逻辑:
// 循环版本的输出逻辑 for (int i = 0; i < starCount; i++) { Console.Write('*'); } Console.WriteLine();
关于你现有代码的小补充
你当前的代码其实是用来生成正方形星号图案的,比如输入3会输出:
*** *** ***
如果这不是你最初想要的效果,用上面修正后的代码就可以啦。
内容的提问来源于stack exchange,提问作者Sebastian
相关产品推荐
相关产品推荐

