0

我需要在 C# 中创建一个控制台应用程序,它将接受数字和行

x 代表任何数字

xxxx-xx-xxxxxx

或 4 个数字,行,2 个数字,行,6 个数字。

建议的方法是询问用户输入并确认用户是否没有写整数并将行放在正确的位置。

我想把它放在一种格式中,这样用户就不必自己写这些行了。

我希望自动插入这些行,这样用户就不必放置它们,字符串的长度也总是相同的。(0-13 或 14 个字符)

这可以以任何相当简单的方式完成吗?

编辑:我编写并将代码添加到pastebin(因为将其全部放入此处相当长)

此代码接受字符串输入并确保没有输入无效字符,换句话说,它可以工作,但我希望程序以任何方式将“-”放置在它们应该自动出现的位置。并且能够限制您可以输入的字符数量(最多 14 个,包括行。)

我的主要问题是能够自动放置“-”,同时仍然能够使用退格键。

对不起,如果代码是原始的,它是一个学校项目,我还在学习。这是他们“希望我”使用的方法。

4

1 回答 1

0

您可以尝试这样的事情(硬编码为长度为 14 的字符串,在位置 4 和 7 带有破折号)。它将拦截用户的所有输入并检查它是否是数字。如果它是一个数字,它会将其打印出来并将其添加到输入中。此外,当输入长度达到某个点时,它会打印出一个破折号。

     String input = "";
     while (input.Length < 14)
     {
        char c = Console.ReadKey(true).KeyChar;
        if (c >= 48 && c <= 57) // ASCII code for a digit (between 0 and 9)
        {
           input += c; // add digit to input
           Console.Write(c); // output it to the console
        }
        if (input.Length == 4 || input.Length == 7)
        {
           input += "-";
           Console.Write("-"); // add dash to the input and write it to console
        }
     }
于 2013-03-20T22:38:43.650 回答