Можно ли, работая в Random генерируя дату получать значения вида 03, 07, а не 3, 7?

sw = new FileWriter(file, true);
sw.write((int) (1 + Math.random() * 30) +"." + (int) (1 + Math.random() * 12) + "." + (int) (1970 + Math.random() * 40));
  • Вопрос задан
  • 2637 просмотров
Решения вопроса 1
Можно генерировать случайные целые из диапазона [101..131], а потом после каста к строке отрезать первый символ.

А в Вашем случае, мне кажется, правильнее всего было бы генерировать одно целое число из последовательности диапазона [от 1 января 1970 до 31 декабря 2009], а потом переводить его в дату и форматировать как нужно - иначе у Вас будут встречаться "30 февраля", "31 июня" и много других увлекательных дат.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
leventov
@leventov
Почитайте про форматирование строк.
sw = new FileWriter(file, true);
sw.write(String.format("%02d.%02d.%d", (int) (1 + Math.random() * 30), (int) (1 + Math.random() * 12), (int) (1970 + Math.random() * 40)));
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы