Почему этот форматированный формат Java не выровнен по правому краю? - PullRequest
1 голос
/ 06 мая 2009

Я новичок и экспериментирую с форматированным выводом.
Я пытаюсь создать таблицу десятичных дробей:

for (int i = 0; i < 8; i++) {
  for (int j = 0; j < 8; j++) {
    row = (double) 5*i;
    column = (double) j + 1;
    System.out.format("% 6.3f", row/column);
    System.out.print("\t");
  }
  System.out.format("%n");
}

Это производит:

 0.000   0.000    0.000   0.000   0.000   0.000   0.000   0.000 
 5.000   2.500    1.667   1.250   1.000   0.833   0.714   0.625 
 10.000 5.000    3.333   2.500   2.000   1.667   1.429   1.250  
 15.000 7.500    5.000   3.750   3.000   2.500   2.143   1.875  
 20.000 10.000   6.667   5.000   4.000   3.333   2.857   2.500  
 25.000 12.500   8.333   6.250   5.000   4.167   3.571   3.125  
 30.000 15.000   10.000  7.500   6.000   5.000   4.286   3.750  
 35.000 17.500   11.667  8.750   7.000   5.833   5.000   4.375  

API говорит, что если флаг '-' не выдан, то вывод будет выровнен по правому краю, что я и хочу Я поставил '' после%, чтобы указать, что я хочу, чтобы вывод был дополнен пробелами, когда это необходимо. Чего мне не хватает?

(я не использовал тег домашней работы, потому что я не зачислен ни на один курс.)

1 Ответ

2 голосов
/ 06 мая 2009

Вы неправильно добавили пробел в строку форматирования:

System.out.format("% 6.3f", row/column);

Должно быть:

System.out.format("%6.3f", row/column);

И вы получите:

 0.000         0.000         0.000         0.000         0.000         0.000         0.000         0.000        
 5.000         2.500         1.667         1.250         1.000         0.833         0.714         0.625        
10.000         5.000         3.333         2.500         2.000         1.667         1.429         1.250        
15.000         7.500         5.000         3.750         3.000         2.500         2.143         1.875        
20.000        10.000         6.667         5.000         4.000         3.333         2.857         2.500        
25.000        12.500         8.333         6.250         5.000         4.167         3.571         3.125        
30.000        15.000        10.000         7.500         6.000         5.000         4.286         3.750        
35.000        17.500        11.667         8.750         7.000         5.833         5.000         4.375  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...