我需要生成一个代码,在其中我将获得一个用户输入( int),并使用它生成一周中的几天。
示例:用户输入-5
我需要输出如下内容
H 210G 211如果用户输入6,它应该像上面那样输出6天。
请帮忙,因为我是C#的新手
非常感谢
发布于 2011-10-20 05:52:27
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();
}希望这能帮到你..。
发布于 2011-10-20 04:59:06
我不会给你写代码的。我想给你一些提示。
您可以使用DateTime类来查找当前的日期和时间,它还提供了一些方法,您可以很容易地使用这些方法来查找第二天是什么以及类似的内容。
正如您在标题中所说的,您可以使用While循环,甚至可以用于“可以工作”。
如果您正在制作基于控制台的应用程序,您可以通过控制台类从用户获取输入,否则您可以在某个文本框中接受输入。
循环或while循环将在当前日期运行,加上用户输入的数字减1。
发布于 2011-10-20 05:00:35
您需要的代码片段:
int.Parse (将输入转换为integer)DateTime.TodayDateTime.AddDays(zeroOrMoreDays)DateTime.DayOfWeek (如果您想要Wednesday而不是10/19/2011 12:00:00 AM))
下面是一些伪代码:
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,而不是直接打印结果。
https://stackoverflow.com/questions/7831298
复制相似问题