Why isn't this Java formatting result warranted?

I am a beginner and I am experimenting with formatted output.
I am trying to create a decimal place table:

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");
}

      

This gives:

 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  

      

The API says that if the "-" flag is not thrown, then the result will be correct, which is what I want. I put '' after% to indicate that I want the output to be padded with spaces when needed. What am I missing?

(I haven't used the homework tag because I am not enrolled in any course.)

+1


a source to share


1 answer


You have incorrectly added a space to your String formatting:

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

      

Should be:



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

      

And you get:

 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  

      

+2


a source







All Articles