2017-03-03 7 views
0

"三角形"の乗算表を作成しようとしています。 15行10列あり、重複はありません。ループを使用している必要があります。私はこれを理解するのに苦労しています。私は余分な列が残っています。助けてください!三角形Java乗算表を作成しようとしています

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ループの各反復のための1つ以上の列を印刷ようになりますこれは15までです。(for (int i = 1; i <= jMax; i++))これを修正するには、3行演算子を使用します。これは基本的に1行のif文です。代わりにfor-loopの条件を
row <=(i < 10 ? i :10)にすると、繰り返しごとに新しい列を印刷するという問題を解決できます。 forループでは、次のようになります。

あなたはまだフォーマットに問題があるかもしれませんが、これは行の問題を解決します。

関連する問題