C#-需要控制声明的建议
我是一名学生,我有一个家庭作业,我需要一些小的帮助() 我的任务是: 编写一个应用程序,提示用户输入一个正方形的大小,并显示一个边长等于输入整数的星号正方形。您的应用程序适用于从2到16的侧面尺寸。如果用户输入的数字小于2或大于16,则应用程序应分别显示大小为2或16的正方形以及错误消息 我已经走了这么远:C#-需要控制声明的建议,c#,C#,我是一名学生,我有一个家庭作业,我需要一些小的帮助() 我的任务是: 编写一个应用程序,提示用户输入一个正方形的大小,并显示一个边长等于输入整数的星号正方形。您的应用程序适用于从2到16的侧面尺寸。如果用户输入的数字小于2或大于16,则应用程序应分别显示大小为2或16的正方形以及错误消息 我已经走了这么远: 开始: int x; 字符串输入; Console.Write(“输入一个介于2-16之间的数字:”); input=Console.ReadLine(); x=Int32.Parse(输入
开始:
int x;
字符串输入;
Console.Write(“输入一个介于2-16之间的数字:”);
input=Console.ReadLine();
x=Int32.Parse(输入);
Console.WriteLine(“\n”);
如果(x=2)
{
控制语句
代码
代码
代码
}
其他的
{
Console.WriteLine(“您必须输入一个介于2和16之间的数字”);
转到开始;
}
我需要帮助。。。
。。。在“if”控件内使用什么控件状态(if、for、while、do-while、case、boolean)
我的想法是
我是否编写了一个代码,为输入的每种类型的数字写出方框?这是很多代码
…必须有一个包含一些“变量++”的代码,可以为我完成任务,但是什么控制语句最适合任务呢
但是如果我使用“variable++”,我应该如何在输出中写入空格,因为毕竟它必须是一个正方形?!=)
我想要一些关于使用哪种类型语句的建议,或者只是一个提示,当然不是整个解决方案,因为我是一名学生 您不必为输入的每种类型的数字编写代码。相反,您必须使用循环(
用于
关键字)
也许我必须在这里停下来,让你来做这项工作,但我只想给你一个提示:你可能想用两个循环来做,一个嵌入另一个
我还注意到一些我想在您的代码中注释的内容:
Int32.Parse
:不要使用Int32
,而是使用int
。它不会改变代码的含义。我不会解释为什么必须使用int
:这很难解释,以后您肯定会理解的goto
语句,除非您的老师告诉您在当前案例中使用它Console.WriteLine(“\n”)代码>:避免“\n”。它依赖于平台(这里是Linux/Unix;在Windows上是“\r\n”,在MacOS上是“\n\r”)。改用Environment.NewLine
x=2
:为什么&
而不是|
string input=Console.ReadLine()代码>而不是字符串输入代码>后跟input=Console.ReadLine()代码>
控制声明是:
for (int i = 0; i < x; i++)
{
for ( int j = 0; j < x; j++ )
{
Console.Write("*");
}
Console.WriteLine();
}
for(int i=0;i
这应该打印一个X X正方形的星号!
我是老师,不久前我把同样的任务留给了我的学生,我希望你不是他们中的一员!:) 因为这是家庭作业,我们不能给你答案。但这里有一些提示(假设为实心*,而不是中间的空白):
了解(int...
goto在钟形底部出现之前就已经过时了。你实际上不需要任何外部控制,因为它是“一次性的”。通常,你会编写这样一个简单的控制台应用程序来寻找一个特殊值(例如,-1),当你看到该值时退出。在这种情况下,你会使用
while(!)
作为外部控制流。如果x大于或等于16,为什么不给它指定16(因为你最终需要画一个边长为16的正方形)(并添加一条适当的消息)?这不是你想要的答案,但我对干净的代码有一些建议:
x
)x
需要提前声明(查看C中的default
以获得默认实例化…默认情况下,这是一个很好的信息,但很容易理解),但不需要使用字符串goto
:)对于这段代码,最好将处理值并返回需要绘制到单独方法中的内容的代码分解出来,让主方法只是坐在那里等待输入。不过要注意硬无限循环编写干净且可维护的代码永远都不会太早,即使只是为了一个永远不需要维护的家庭作业:)下次试着独自做家庭作业。。。。这一次我给出了答案,因为这是一个非常简单的练习,但是如果你不能破解这个,你应该多学习。你可以提供一些提示,但不能给出完整的解决方案。只要OP声明这是一个家庭作业,请求帮助就可以了!我意识到太晚了。。。对不起,我只是希望这能给fierflash一些启动programmin的动力
for (int i = 0; i < x; i++)
{
for ( int j = 0; j < x; j++ )
{
Console.Write("*");
}
Console.WriteLine();
}