关于在嵌套for循环中使用printf(乘法表)

时间:2013-10-26 02:57:56

标签: java

创建乘法表1-12时,输出有问题。下面是我的代码和输出

public class Multiplication
{
    public static void main(String[]args)
    {
        int row,column;

        System.out.println("Below is a multiplication table from 1-12 inclusive");

        for (row=1;row<=12;row++)
        {
            System.out.printf("%4d\n",row);

            for (column=1;column<=12;column++)
                System.out.printf("%6d",row*column);
        }
    }
}

我的输出是

以下是1-12(含)的乘法表

   1
     1     2     3     4     5     6     7     8     9    10    11    12   2
     2     4     6     8    10    12    14    16    18    20    22    24   3
     3     6     9    12    15    18    21    24    27    30    33    36   4
     4     8    12    16    20    24    28    32    36    40    44    48   5
     5    10    15    20    25    30    35    40    45    50    55    60   6
     6    12    18    24    30    36    42    48    54    60    66    72   7
     7    14    21    28    35    42    49    56    63    70    77    84   8
     8    16    24    32    40    48    56    64    72    80    88    96   9
     9    18    27    36    45    54    63    72    81    90    99   108  10
    10    20    30    40    50    60    70    80    90   100   110   120  11
    11    22    33    44    55    66    77    88    99   110   121   132  12
    12    24    36    48    60    72    84    96   108   120   132   144

我的问题是让最右边的列位于最左边。我已经尝试过研究为什么只有数字'1'出现然后它跳了但是找不到任何东西

3 个答案:

答案 0 :(得分:1)

您的问题是两个printf语句中的第一个。您应该只能将其替换为System.out.printf("\n");

(&#34;跳转&#34;您引用的是换行符,由\n字符表示。)

答案 1 :(得分:0)

for (row=1;row<=12;row++)
{        
  System.out.printf("%4d",row);

  for (column=1;column<=12;column++)

  System.out.printf("%6d",row*column);
  if(column==12) System.out.printf("\n");
}

答案 2 :(得分:0)

试试这个:

public class Multiplication
{    
    public static void main(String[]args)
    {
        int row,column;

        System.out.println("Below is a multiplication table from 1-12 inclusive");

        for (row=1;row<=12;row++)
        {
            System.out.printf("%4d",row);
            for (column=1;column<=12;column++)
                System.out.printf("%6d",row*column);
            System.out.printf("\n");
        }
    }
}