使用for循环创建带格式的乘法表

时间:2016-10-21 00:08:01

标签: java

我正在努力创建一个可以使用for循环打印乘法表的程序。

我的代码:

    public static void main (String [] args)
    {
    System.out.println ("\t\t\tMultiplication Table");
    System.out.println ();

    System.out.println ("\t0\t1\t2\t3\t4\t5\t6\t7\t8\t9\t");
      for (int i = 0; i <= 9; i++)
      {
            for (int j = 0; j <= 9; j++)
            {
                System.out.print("\t" + i * j);
            }
            System.out.println ();
      }
    }

我可以将表格的顶部打印为&#34;标题。&#34;我只是在努力从1-9打印出左侧列。

如果有任何我需要澄清的话,请告诉我。

任何帮助将不胜感激。这是我的高中java课程。

5 个答案:

答案 0 :(得分:1)

IF (...) BEGIN .... END ELSE BEGIN .... END i必须以1开头。

j

它将从1到9打印表格。

答案 1 :(得分:0)

在i循环内但在j循环之前尝试以下内容:

public static void main (String [] args)
    {
    System.out.println ("\t\t\tMultiplication Table");
    System.out.println ();

    System.out.println ("\t0\t1\t2\t3\t4\t5\t6\t7\t8\t9\t");
      for (int i = 1; i <= 9; i++)
      {
            for (int j = 1; j <= 9; j++)
            {
                System.out.print("\t" + i * j);
            }
            System.out.println ();
      }
    }

答案 2 :(得分:0)

您需要在开头添加一个标签,将标题向右移动一个标签。然后在左列选项卡中打印j值之前打印i值。

public static void main (String [] args)
    {
        System.out.println ("\t\t\tMultiplication Table");
        System.out.println ();

        System.out.println ("\t\t0\t1\t2\t3\t4\t5\t6\t7\t8\t9\t");
        for (int i = 0; i <= 9; i++)
        {
            System.out.print("\t" +i);
            for (int j = 0; j <= 9; j++)
            {
                System.out.print("\t" + i * j);
            }
            System.out.println ();
        }
    }

答案 3 :(得分:0)

我明白了。我必须在外部循环中添加一个if语句才能打印左侧的列。

代码:

public class MultiplicationTable
{
public static void main (String [] args)
{
    System.out.println ("\t\t\t\tMultiplication Table");
    System.out.println ();

    System.out.println ("\t0\t1\t2\t3\t4\t5\t6\t7\t8\t9\t");
      for (int i = 0; i <= 9; i++)
      {
          System.out.print (i);
            for (int j = 0; j <= 9; j++)
            {
                System.out.print("\t" + i * j);
            }
            System.out.println ();
      }
      System.out.println ();
}

}

答案 4 :(得分:0)

你的问题是,在任一循环的第一次迭代中,变量等于零,当你打印它们的产品时,它会打印零,因为任何数字零时间为零。一个简单的解决方法就是:

public static void main (String [] args)
{
    System.out.println ("\t\t\tMultiplication Table");
    System.out.println ();

    for (int i = 0; i <= 9; i++)
    {
        for (int j = 0; j <= 9; j++)
        {
            if(j == 0) System.out.print("\t" + i); 
            else if(i == 0) System.out.print("\t" + j);
            else System.out.print("\t" + i * j);
        }
        System.out.println();
    }
}

第一个if语句检查j是否为零,如果为真则打印i。实际上,这会将i乘以1,并在左侧创建第一列。

第二个if语句执行相同操作,但ji反转。它创建了顶部的第一行。

else语句打印ij的乘积,当它们都不等于零时。这会在中间创建所有行和列。

你可以摆脱这一行:

System.out.println("\t0\t1\t2\t3\t4\t5\t6\t7\t8\t9\t");

这条线的作用是由循环引起的。

输出结果为:

         Multiplication Table

0   1   2   3   4   5   6   7   8   9
1   1   2   3   4   5   6   7   8   9
2   2   4   6   8   10  12  14  16  18
3   3   6   9   12  15  18  21  24  27
4   4   8   12  16  20  24  28  32  36
5   5   10  15  20  25  30  35  40  45
6   6   12  18  24  30  36  42  48  54
7   7   14  21  28  35  42  49  56  63
8   8   16  24  32  40  48  56  64  72
9   9   18  27  36  45  54  63  72  81