07/07/24 22:03:57
すまん、根本的に直し過ぎました。
閏年用に処理を分けないように書き直してたら何かロジック部分がずれてきて・・・
なので日数計算のコアの部分だけあげました。
URLリンク(sourcepost.sytes.net)
private int[] timeslip(int year, int month, int day, int diff);
指定年月日のdiff日数後を返すメソッドです。
えーっと、俺のロジックは何日後、何日前の計算の時は
とりあえず同じロジックを符号反転させて使うことにしてそのロジックはメソッドにまとめています。
なので、hd1側を埋めるときは差分は -t で呼んでください。
閏年もあるので、閏年と閏年じゃない年の月の日数配列を分けてます。
でもまあそれは重要じゃなくて、年と月を指定したら月の日数が分かるようにして
基本的には月単位で差異日数をインクリメンタルに消化していくという感じ。
差異が月越えしないくらい小さくなったら答えを出す。
つーか講師が出した元のソースもおかしい・・・Cの流儀が混ざりすぎなのか?