我一直在试图做一个我几天前收到的任务。基本上,任务是在C#控制台应用程序:c#使用2d数组输入的坐标打印“*”字符
提示符中,直到字用户为2个坐标输入“STOP”进入。一旦命中“stop”字样,在每个输入坐标处打印一个“*”(星号字符)。坐标打印的字段是20x20。我尝试过这样做,但无济于事。如果有人能帮助我,并告诉我如何存储输入X,Y为二维数组,那简直太好了:)
如何应用应该工作:http://imgur.com/a/SnC1k
的[0,5] [18,18]等是输入的坐标,后面打印在下面。 “#”字符不需要打印,他们在这里只是为了帮助理解任务。
我如何试图做到这一点,但没有奏效:
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
bool stopped = false;
int x=0;
int y=0;
while (stopped)
{
string[,] coordinates = Console.ReadLine();
string response = Console.ReadLine();
response = response.ToLower();
if (response == "STOP")
stopped = true;
else
{
string[] xy = coordinates.Split(',');
x = int.Parse(xy[0]);
y = int.Parse(xy[1]);
Console.SetCursorPosition(x, y);
Console.Write("*");
}
}
}
}
}
的代码我只是没有做到这一点。它显示了多个我不知道如何解决的错误,我唯一能做的就是让它在我输入第一个坐标时立即打印一个字符,而不是在每个输入的坐标处打印一个字符,在STOP之后被击中。
可能解决你很多问题的东西是我认为你意思是“while(!停止)' –
您还将您的回应转换为小写,但是您将回应与“停止”而不是“停止”进行比较 –
感谢您指出那些错误的人:) –