数字乘以它们自己

时间:2013-06-16 04:14:04

标签: java loops for-loop

我正在练习循环和其中一个章末练习,它要求创建一个乘法表,显示结果自身乘以1到12的整数。这就是我所做的,这会产生错误的结果。我确信我错过了一些简单但却无法捕捉的东西。

public class PP63 {

    public static void main(String[] args) {

        final int TOTAL = 12;


        for(int i = 1; i <= TOTAL; i++)
        {
            for(int j = 1; j<=TOTAL; j++)
            {
                System.out.println(i*j);
            }
        }

    }

}

4 个答案:

答案 0 :(得分:2)

基本上,您需要一个表,而不是列表

for(int i = 1; i <= TOTAL; i++)
{
    for(int j = 1; j<=TOTAL; j++)
    {
        System.out.print(i*j + "\t");
    }
    System.out.println();
}

答案 1 :(得分:1)

这一行有一个问题:

System.out.println(i*j);

请注意,这是调用println,它会在自己的行上打印值。如果要在同一行上打印多个值,可以使用System.out.print代替。您需要手动插入空格以确保所有内容都正确对齐,并且还必须插入自己的换行符。

希望这有帮助!

答案 2 :(得分:0)

根据你的问题,我认为你将所有结果混合在一行,所以你应该这样做:

public class PP63
    {
       public static void main (String[] args) {

          // print main table
          for (int i = 1; i <= 12; i++) {
             System.out.print(i + ":");
             for (int j = 1; j <= 12; j++) {
                System.out.print(i*j + " ");
             }
             System.out.println();
          }
       } // end of main
    }

答案 3 :(得分:0)

在main方法中使用此代码。我希望你能喜欢它

    final int TOTAL = 12;

    for(int i = 1; i <= TOTAL; i++)
    {
        for(int j = 1; j<=TOTAL; j++)
        {
           if(i*j<10)
              System.out.print(j+"*"+i+" = "+i*j +"     ");
           else if(10<=i*j & i*j<100)
              System.out.print(j+"*"+i+" = "+i*j +"    ");
                   else if(100<=i*j & i*j<1000)
              System.out.print(j+"*"+i+" = "+i*j +"   ");
        }
        System.out.println("");
    }