我有一个使用循环创建乘法表的赋值,第一列应该从1-10开始,左上角有一个'x'。这是我的计划:
public class s {
public static void main(String[] args) {
int a = 10;
for (int b = 0; b <= a; b++) {
for (int c = 1; c <= 1; c++) {
System.out.printf ("%3d | ", + b*c );
}
}
System.out.println ();
for (int d = 5; d < a; d++) {
System.out.printf ("-------------");
}
System.out.println ("");
for (int e = 1; e <= a; e++) {
for (int c = 0; c <= a; c++) {
System.out.printf ("%3d | ", e*c );
}
System.out.println ();
}
}
}
这会在第一列打印所有零,但我希望它在x,1,2,3等处更改。如何更改这些值?
对不起,如果有任何格式错误或任何事情,我和Stack Overflow一样新,就像我对Java一样,但我很高兴找到你。
答案 0 :(得分:0)
您的代码已经非常接近工作了。您唯一的问题是尝试在for循环中包含左列(专用于打印乘法值)。一般形式应为:
System.out.printf(... left hand label ...);
for (col counter ...)
System.out.printf(... value based on col ... );
System.out.println();
调整后的代码为:
public class s {
public static void main(String[] args) {
int a = 10;
System.out.printf("%3s | ", "x");
for (int b = 1; b <= a; b++) {
System.out.printf("%3d | ", b);
}
System.out.println();
System.out.printf("----+");
for (int d = 0; d < a; d++) {
System.out.printf("-----+");
}
System.out.println();
for (int e = 1; e <= a; e++) {
System.out.printf("%3d | ", e);
for (int c = 1; c <= a; c++) {
System.out.printf("%3d | ", e * c);
}
System.out.println();
}
}
}
我还鼓励你使用以大写字母开头的类名(按惯例类名称应该大写)。