尝试制作三角形Java Multiplucation表

时间:2017-03-03 02:40:51

标签: java

我正在尝试制作一个“三角形”乘法表。它必须有15行10列,没有重复。必须使用循环。我正在努力想出这个问题。我留下了额外的专栏。请帮忙!

Here is what it is supposed to look like

public class q2 {

    public static void main(String[] args) {

         final int jMax = 15; 
         final int iMax = 10;

         System.out.println("");
         System.out.print("  |  ");

          for (int column = 1; column <= iMax; column++)

             System.out.print(column + "\t"); 

          System.out.println();


          System.out.print("____________________________________________________________________________");

          System.out.println();

          for (int i = 1; i <= jMax; i++)
          {       
              if (i>9)
              {
             System.out.print(i + " | ");
              }
              else
                  System.out.print(i + "  | ");

             for (int row = 1; row <=i; row++) {

                System.out.print(i*row + "  ");
             } 
             System.out.println();

          } 
       }

}

1 个答案:

答案 0 :(得分:0)

你有额外列的原因是这一行:

for (int row = 1; row <=i; row++) {
    System.out.print(i*row + "  ");
} 

这将使您在其外部的for循环的每次迭代中打印出一个列,最多可达15个。(for (int i = 1; i <= jMax; i++))为了解决这个问题,您可以使用三元运算符,它们本质上是一行中的if语句。如果您改为使用for循环的条件 row <=(i < 10 ? i :10),然后您将解决每次迭代打印新列的问题。在for循环中,它看起来像这样:

for (int row = 1; row <= (i < 10 ? i :10); row++) {
    System.out.print(i*row + "  ");
} 

您可能仍然遇到格式问题,但这解决了行问题。