【发布时间】:2015-11-26 19:26:36
【问题描述】:
我正在尝试编写一个程序,在用户输入的任何日期之后给出下一个日期。下面的代码是我的 NextDate 类。我收到一条错误消息,指出并非所有代码路径都为我的 GetnextDate 方法返回值,即使我添加了默认值。我真的不知道发生了什么,任何帮助将不胜感激。谢谢:)
namespace NextDate
{
class Date
{
// Variables
private int date;
private int month;
private int year;
// Methods
public Date(int d, int m, int y)
{
this.date = d;
this.month = m;
this.year = y;
}
// Display methods
public override string ToString()
{
string s;
s = "The date is " + this.date.ToString()
+ "/" + this.month.ToString()
+ "/" + this.year.ToString();
return s;
}
private int GetNextDate(int d, int m)
{
switch(m)
{
case 04:
case 06:
case 09:
case 11:
this.date = 01;
break;
default:
this.date = 31;
break;
}
}
}
}
【问题讨论】:
-
你应该明确写写 return 01;不是 this.date=01
-
我正在尝试编写一个程序,在用户输入的任何日期之后给出下一个日期。这是代码的一些屏幕截图。我希望它打印 2002 年 4 月 31 日的完整日期,但它只显示 31。任何帮助将不胜感激。谢谢 :) [1]:i.stack.imgur.com/3to6U.png [2]:i.stack.imgur.com/trCJS.png
-
@gggg43553rob @gggg43553rob 请不要编辑问题并将其恢复为上一个问题,因为在编辑过程中,您问的是全新的问题。 但作为注意,您可以简单地使用
DateTime的AddDay方法来查找第二天。例如DateTime.Now.AddDays(1).ToShortDateString()明天返回。 如果您需要更多帮助,请提出一个新问题 -
@gggg43553rob 当您提出新问题时,请创建一个新问题。这个想法是该帖子及其答案对人们以后使用谷歌搜索很有用。现在他们不是因为下面的所有答案都在回答不同的问题。我要恢复你的编辑。请在您的新问题中发布一个新问题,并在下面标记为“正确”。
标签: c# class switch-statement