どういうわけか、きれいな方法でコーディングする方法を理解できません。タスク オブジェクトがあり、このオブジェクトには開始日と終了日があります。このオブジェクトをメソッドに渡し、このタスクを実行し、頻度に応じて X 回複製し、開始日を発生日に設定します。
もちろん、例を使って物事をよりよく説明することができます。つまり、開始日が 2012 年 6 月 1 日で終了日が 2012 年 9 月 15 日のタスクがあるとします。頻度は毎月に設定されています。このタスクを、開始日がそれぞれの月の最初に設定されている 4 つのタスク (6 月、7 月、8 月、9 月) の配列を作成するメソッドに渡したい
ArrayList<task> spawnTasks(Task task, Frequency Monthly){
ArrayList<Task> arr = new ArrayList<Task>();
Task TaskJune = task.clone();
TaskJune.setStartDate("June, 1, 2012");
Task TaskJuly = task.clone();
TaskJuly.setStartDate("July, 1, 2012");
Task TaskAug = task.clone();
Taskaug.setStartDate("Aug, 1, 2012");
Task TaskSept = task.clone();
TaskSept.setStartDate("Sept, 1, 2012");
}
ご覧のとおり、頻度が月単位であるため(隔週または月単位のみを使用できます)、月に 1 回タスクを作成しました。これは開始日が 1 日であり、終了日が 9 月 15 日であるため、9 月を超えることはありませんでした。
それを行うにはカレンダーとループを使用する必要があることは知っていますが、それを理解することはできません