我正在尝试制作一个“三角形”乘法表。它必须有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();
}
}
}
答案 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 + " ");
}
您可能仍然遇到格式问题,但这解决了行问题。