【发布时间】:2015-12-17 07:12:39
【问题描述】:
我需要让控制台打印 ASCII 字符,每个“页面”有 22 个字符。通过输入,比如“key”,他们将打印接下来的 22 个 ASCII 字符,依此类推。问题在于“翻页”问题。
这是我的代码:
static void Main(string[] args)
{
int i = 0;
while (i <= 22)
{
Console.Write(i + " = " + (char)i);
if (i < 22)
{
Console.Write((char)10);
}
i++;
}
Console.Write("Please press any key to turn page");
Console.ReadKey();
while (i > 22 && i <= 44)
{
Console.Write(i + " = " + (char)i);
if (i < 44)
{
Console.Write((char)10);
}
i++;
}
Console.Write("Please press any key to turn page");
Console.ReadKey();
}
我本质上是一个新手。大部分东西我都是自己学的,所以如果我学业受不了,请多多包涵,告诉我是怎么做到的。我可以从那里过去。提前致谢。
【问题讨论】:
-
您所面临的“翻页”问题究竟是什么?预期的行为是什么?出了什么问题?
-
您认为
(char) i对所有低于 32 的控制字符意味着什么?目前尚不清楚您要达到的目标。 -
检查您的讲义 - 您可能会使用代码控制语句。可以作为答案添加的看起来合理的代码不太可能让你通过分数。
-
你可以clear控制台,但这并不是真正的“翻页”。
-
如果你想打印到控制台,你必须准备好一些东西。控制台必须使用程序所使用的字符集/编码。它还必须选择包含要打印的字符的字体。也就是说,您可能希望将C0 Controls 打印为Control Pictures。通过将 0x2400 添加到
char以实现 0 到 31 的范围。输出(在浏览器中的外观会有所不同):␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏␐␑␒␓␔␕␖␗␘ ␙␚␛␜␝␞␟