了解しました。ユーザーに年(たとえば2002年)の入力を要求し、その年の最初の火曜日を返すプログラムを作成しています。
どうやってこれを始めたらいいのかわからない。誰か助けてもらえますか?
了解しました。ユーザーに年(たとえば2002年)の入力を要求し、その年の最初の火曜日を返すプログラムを作成しています。
どうやってこれを始めたらいいのかわからない。誰か助けてもらえますか?
どうやってこれを始めたらいいのかわからない。
あなたは、最初はコードについて考えることさえせずに、この問題を解決する方法を考えることによっています。あなたはいくつかの異なるアプローチを考えることができます:
次に、コーディング部分について 説明します。DateTime構造体は、.NETで日付を表すために使用されます。コンストラクターを使用して、特定の日、月、および年の日付を作成できます。のドキュメントを見ると、役立つDayOfWeekDateTime
メソッドが見つかります。
これで始められることを願っています!
編集:
ユーザー入力(文字列)を整数に変換するには、Parse関数を使用します。
Public Function GetFirstTuesday(year As Integer) As Date
Dim d As Date = New Date(year, 1, 1, 0, 0)
For i As Integer = 0 To 6
If d.AddDays(i).DayOfWeek = DayOfWeek.Tuesday) Then
Return d.AddDays(i)
End If
Next
End Function
Linqを使って解いてみました(linq初心者です)。エラー処理はあなた次第です。
Sub Main()
Console.WriteLine(GetFirstTuesdayOfYear(2013)) 'returns 01.01.2013
Console.WriteLine(GetFirstTuesdayOfYear(2012)) 'returns 03.01.2012
Console.WriteLine(GetFirstTuesdayOfYear(2011)) 'returns 04.01.2011
Console.WriteLine(GetFirstTuesdayOfYear(2010)) 'returns 05.01.2010
Console.WriteLine(GetFirstTuesdayOfYear(2009)) 'returns 06.01.2009
Console.Read()
End Sub
Private Function GetFirstTuesdayOfYear(year As Integer) As DateTime
Return Enumerable.Range(1, DateTime.DaysInMonth(Year, 1)).[Select](Function(day) New DateTime(Year, 1, day)).ToList().FirstOrDefault(Function(x) x.DayOfWeek = DayOfWeek.Tuesday)
End Function