2013-10-26 43 views
1

创建乘法表1-12(含)时,输出时出现问题。下面是我的代码和输出关于在嵌套for循环中使用printf(乘法表)

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'出现,然后它跳跃,但无法找到任何东西

回答

1

你的问题是你的两个printf陈述中的第一个。您应该可以用System.out.printf("\n");替换它。

( “跳” 到你指的是新行,这是由\n字符来表示)

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