首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ReadLine问题

ReadLine问题
EN

Stack Overflow用户
提问于 2013-03-20 22:23:13
回答 1查看 241关注 0票数 0

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

X代表任何数字

xxxx-xx-xxxxxx

或者四个数字,一行,两个数字,一行,6个数字。

建议的方法是要求用户输入并确认用户是否没有在正确的位置写入整数和位置行。

我想把它以一种格式,这样用户就不必自己写行。

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

这能用任何相当简单的方法来完成吗?

编辑:我编写了代码并将其添加到巴斯丁中(因为将所有代码都放在这里相当长的时间)

这段代码接受字符串输入,并确保没有输入无效字符,换句话说,它可以工作,但我希望程序以任何方式将它们自动放置在“-”的位置。如果你能限制你可以输入的字符数量(包括行),那也是件好事。

我的主要问题是能够自动放置'-‘,同时仍然能够使用backspace。

抱歉,如果代码是原始的,这是一个学校项目,我还在学习。这就是他们“想要我”使用的方法。

EN

回答 1

Stack Overflow用户

发布于 2013-03-20 22:38:43

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

代码语言:javascript
复制
     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
        }
     }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15535960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档