日付の作成に問題があります。
Calendar gc = new GregorianCalendar();
int leto = randBetween(2001, 2020);
gc.set(GregorianCalendar.YEAR, leto);
int dan= randBetween(1, gc.getActualMaximum(GregorianCalendar.DAY_OF_YEAR));
gc.set(GregorianCalendar.DAY_OF_YEAR, dan);
// System.out.println(gc.get(GregorianCalendar.YEAR) + "-" +
// gc.get(GregorianCalendar.MONTH) + "-" +
// gc.get(GregorianCalendar.DAY_OF_MONTH));
public static int randBetween(int start, int end) {
return start + (int)Math.round(Math.random() * (end - start));
}
日付を生成する関数がありますが、この関数には多くの失敗があります。MONTH 値が設定されていない日付が多数あります。
31,6,2004 1,7,2004
23,0,2013 24,0,2013
19,0,2008 20,0,2008
31,9,2014 31,9,2014
しかし、私はなぜこれが起こるのか分かりませんか?