这是提示:编写程序 打印一个月的日历。输入 由指定第一个的整数组成 每月的一天(1 =星期天)和一个 整数,指定天数 在一个月。
这是一个示例输出:
fullDict3 = {
'0':{
'0data':'0datttaaa',
'0mada':'0mmmaadaa'
},
'a':{
'arbre':'tree',
'arc-en-ciel':'rainbow'
},
'b':{
'bierre':'beer',
'belle':'beautiful'
}
}
我一直在努力,这是我到目前为止所做的。
First day of the month 3
Number of days in the month 31
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
你们中的任何一个人都知道我在错误的年份里做错了吗?一个工作正常,但其余的有各种问题。
感谢您的帮助!
答案 0 :(得分:1)
这会吗?
class Program
{
static void Main(string[] args)
{
Console.Title = "Program 202t";
Console.Write("Enter the first day of the month: ");
int startingDay = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter the number of days in a month: ");
int daysInMonth = Convert.ToInt32(Console.ReadLine());
List<string> daysOfTheWeek = new List<string>() {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
foreach (string day in daysOfTheWeek)
{
Console.Write($"{day,10}");
}
List<string> days = new List<string>();
for (int i = 0; i < startingDay; i++)
{
days.Add($"{"",10}");
}
for (int i = 1; i < daysInMonth+1; i++)
{
days.Add($"{i,10}");
}
for (int i = 0; i < days.Count; i++)
{
if (i%7!=0) {Console.Write(days[i]);}
else {Console.WriteLine(days[i]);}
}
}
答案 1 :(得分:0)
好的,我快速浏览了一下代码,然后我就知道你的问题在哪里,所以我会给你一些关于在哪里看的提示。
首先,您的代码存在围绕所需输出格式的逻辑问题。有更简单的方法来输出正确的格式。如果您查看.NET String Reference然后查看格式,您可能会找到一种更简单的方法。
接下来,您遇到了未对齐块结尾的问题,因此您的某些代码永远不会被执行。我建议您在第一个if
语句中断开代码,并逐步执行代码以了解运行时的执行情况。
最后,我建议稍微澄清一下您的变量名称。如果第一个输入表示一周中的那一天,那么可能使用表示它的变量名称(例如dayOfWeek
,但month
不会为我执行此操作)。此外,该月的天数可以使用更好的变量名称。
如果您需要更多指导,请提出问题。我很乐意提供帮助。