Console output of multiplication table
When I run your code I see:

1 |     2       3       4       5       6       7       8       9       10      11      12      13      14      15
--------------------------------------------------------
3 |     6       9       12      15      18      21      24      27      30      33      36      39      42      45
4 |     8       12      16      20      24      28      32      36      40      44      48      52      56      60
5 |     10      15      20      25      30      35      40      45      50      55      60      65      70      75
6 |     12      18      24      30      36      42      48      54      60      66      72      78      84      90
7 |     14      21      28      35      42      49      56      63      70      77      84      91      98      105
8 |     16      24      32      40      48      56      64      72      80      88      96      104     112     120
9 |     18      27      36      45      54      63      72      81      90      99      108     117     126     135
10|     20      30      40      50      60      70      80      90      100     110     120     130     140     150
11|     22      33      44      55      66      77      88      99      110     121     132     143     154     165
12|     24      36      48      60      72      84      96      108     120     132     144     156     168     180
13|     26      39      52      65      78      91      104     117     130     143     156     169     182     195
14|     28      42      56      70      84      98      112     126     140     154     168     182     196     210
15|     30      45      60      75      90      105     120     135     150     165     180     195     210     225


So row #2 is missing (as glenn jackman mentions), as well as both the "one times" rows and columns, which are usually present.

The horizontal divider is no-where near long enough for your output, since you are printing out 4 '-' characters, but using a tab character ('\t') to advance to the next column which typically advances to a multiple of 8.  This can be corrected by using a formatted output, instead of just printing.  Consider:

jshell&gt; for (var i=1; i&lt;=5; i++) {
   ...&gt;   for (var j=1; j&lt;=5; j++) {
   ...&gt;     System.out.format(" %2d |", i*j);
   ...&gt;   }
   ...&gt;   System.out.println();
   ...&gt; }
  1 |  2 |  3 |  4 |  5 |
  2 |  4 |  6 |  8 | 10 |
  3 |  6 |  9 | 12 | 15 |
  4 |  8 | 12 | 16 | 20 |
  5 | 10 | 15 | 20 | 25 |


Notice all the numbers are lined up on their right edge.
No tab characters are being used;
just %2d format code which outputs the number padded to a width of 2 with spaces on the left.

This allows you to avoid special casing of the of column 1, where you test for row &lt; 10 to determine whether you need an extra space or not.

row += 1 and column += 1 are usually written as row++ and column++ in for loops.