2017-03-03 45 views
0

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

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(); 

      } 
     } 

} 
+2

它现在做了什么? – Matt

+0

完美,现在感谢! – Mike

回答

0

你有额外列的原因是这条线的位置:

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

这会让你打印出一个多列在它之外的for循环的每次迭代(for (int i = 1; i <= jMax; i++))要解决此问题,可以使用三元运算符,它们本质上是一行中的if语句。如果您改为使用for-loop的条件
row <=(i < 10 ? i :10),那么您将修复每次迭代打印出新列的问题。在for循环,它看起来像这样:

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

你可能仍然有问题与格式,但是这能解决您的问题与行。