在 table 中更改打印变量的值

Changing the value of a printed variable in a table

我有一个作业要使用循环创建乘法 table,第一列应该从 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 一样陌生,但我很高兴找到你。

您的代码已经非常接近工作了。您遇到的唯一问题是试图将左列包含在 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();
        }
    }
}

我还鼓励您使用以大写字母开头的 class 名称(按照惯例 class 名称应大写)。