私はこの課題を今月末までに締め切りましたが、すでに半分終わっています。初日が着陸した曜日を計算するには、ゼラーの合同を使用する必要がありました。その時点から (そして閏年を考慮して)、ループを使用して対応する年のカレンダーを印刷する必要があります。先生は、これは非常に短いプログラムであるべきであり、プログラムのロジックを総当たりにするべきではないと言いました (基本的に、毎月の if else とループの束を使用しないでください)。数学の計算と閏年の部分は既にありますが、これを for ループで機能させる方法については、さまざまな理由で頭を悩ませることができません。
- 各月の空白をどのように因数分解しますか? 実際に必要なネストされたループの数は?
- うるう年、31 日を含む月、30 日を含む月などに異なるループを記述する必要がありますか、それとも 1 つの巨大なネストされたループで処理できますか?
たとえば、特別な書式設定(空白、月名、日など)なしで典型的な 31 日のカレンダーを印刷できるかどうかを確認するためだけに、for ループを書き始めました。for ループを使用した最初のテストは次のとおりです。
for(int i = 1; i < 31; i++)
{
for(int j = 0; j < 7; j++)
{
System.out.print(i + "\t");
i++;
if(j == 6){
i--;}
if(i > 31)
{
break;
}
}
System.out.print("\n");
}
複数の月と空白に使用する背後にあるロジックは何ですか。すべてのヘルプを歓迎しますが、ソース コードを教えないでください。私は自分が書いたコードでこれをやり遂げることに満足したいと思っています。前述したように、これも課題であり、コードをコピーして貼り付けることから実際に学ぶことはありません。使用する必要があるロジックについて骨を折ってください。特別な場合のために、他のすべての条件で作業できます。みんなありがとう。