Jak wyrównać kropkę dziesiętną podczas wyświetlania podwójnych i ruchomych

Jeśli mam następujące liczby miejsc dziesiętnych:

Double[] numbers = new Double[] {1.1233, 12.4231414, 0.123, 123.3444, 1.1};
for (Double number : numbers) {
    System.out.println(String.format("%4.3f", number));
}

Następnie otrzymuję następujące dane wyjściowe:

1.123
12.423
0.123
123.344
1.100

Chcę:

   1.123
  12.423
   0.123
 123.344
   1.100

questionAnswers(3)

yourAnswerToTheQuestion