首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编写一个循环来打印这种关于日期差异的文本?

如何编写一个循环来打印这种关于日期差异的文本?
EN

Stack Overflow用户
提问于 2011-10-20 04:53:26
回答 6查看 526关注 0票数 0

我需要生成一个代码,在其中我将获得一个用户输入( int),并使用它生成一周中的几天。

示例:用户输入-5

我需要输出如下内容

  1. 今天是(今天的日期)
  2. 明天是(明天日期)
  3. 日后天是
  4. 后天是
  5. 后天是……H 210G 211

如果用户输入6,它应该像上面那样输出6天。

请帮忙,因为我是C#的新手

非常感谢

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-10-20 05:52:27

代码语言:javascript
复制
 static void Main(string[] args)
        {
            days();
        }
        public static void days()
        {
            Console.Write("Please enter number : ");
            int a = Convert.ToInt32(Console.ReadLine());

            for (int i = 0; i < a; i++)
            {
                string strdays;
                switch (i)
                {
                    case 0:
                        strdays = ". Todays date is : ";
                        break;
                    case 1:
                        strdays = ". Tommorrows date is : ";
                        break;
                    case 2:
                        strdays = ". Day after tommorrows date is : ";
                        break;                   
                    default:
                        strdays = ". " + (i-1) + "Days after tommorrows date is : ";
                        break;
                }                    
                Console.WriteLine((i+1)+ strdays + System.DateTime.Now.AddDays(i));                 
            }            
            Console.ReadLine();
        }

希望这能帮到你..。

票数 2
EN

Stack Overflow用户

发布于 2011-10-20 04:59:06

我不会给你写代码的。我想给你一些提示。

您可以使用DateTime类来查找当前的日期和时间,它还提供了一些方法,您可以很容易地使用这些方法来查找第二天是什么以及类似的内容。

正如您在标题中所说的,您可以使用While循环,甚至可以用于“可以工作”。

如果您正在制作基于控制台的应用程序,您可以通过控制台类从用户获取输入,否则您可以在某个文本框中接受输入。

循环或while循环将在当前日期运行,加上用户输入的数字减1。

票数 6
EN

Stack Overflow用户

发布于 2011-10-20 05:00:35

您需要的代码片段:

  • Console.Write
  • Console.ReadLine
  • int.Parse (将输入转换为integer)
  • DateTime.Today
  • DateTime.AddDays(zeroOrMoreDays)
  • DateTime.DayOfWeek (如果您想要Wednesday而不是10/19/2011 12:00:00 AM)

)

下面是一些伪代码:

代码语言:javascript
复制
Ask the user for the number of days (as a string)
Parse numberOfDays into an int
for i = 0 to numberOfDays:
    write line: today.AddDays(i).DayOfWeek

您还需要做一些技巧才能让自然语言的东西发挥作用,例如three days after tomorrow is

我会使用一些额外的if i == 0 else if i == 1类型语句来解决这个问题,并在某个点之后回到一般的<number> days after tomorrow上。

有关如何获取该数字的链接,请参见以下(已关闭的)问题:converting numbers in to words C#

编辑由于您对问题的评论

@ sblom不是我计划的网络服务

那就别用Console的东西。

相反,让它成为一个方法,不要执行字符串/int.Parse操作。直接拿int就行了。

使用StringBuilder构建一个结果,并返回一个string,而不是直接打印结果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7831298

复制
相关文章

相似问题

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