Java 如何在for循环中删除行尾的空格

Java 如何在for循环中删除行尾的空格,java,for-loop,Java,For Loop,接下来的问题是,在每一行的末尾,程序都会写入一个空格。如何删除它 public class Szorzotabla { public static void main(String[] args) { for (int i = 1; i < 10; i ++) { for (int j = 1; j < 10; j++) { System.out.print(i * j + " ");

接下来的问题是,在每一行的末尾,程序都会写入一个空格。如何删除它

public class Szorzotabla {

    public static void main(String[] args) {
        for (int i = 1; i < 10; i ++) {
            for (int j = 1; j < 10; j++) {
                System.out.print(i * j + " ");
            }
            System.out.println();
        }
    }

}
公共类Szorzotabla{
公共静态void main(字符串[]args){
对于(int i=1;i<10;i++){
对于(int j=1;j<10;j++){
系统输出打印(i*j+);
}
System.out.println();
}
}
}

我希望乘法表的输出在每行末尾都没有空格。

您在每行末尾得到一个空格,因为您在每行的最后一行打印一个空格,即使您不需要

相反,您可以对其进行更改,以便打印
i*j
之前的空格,并在进入内部循环之前手动打印第一个
i*j
。这样,您的代码保持相对干净

for(int i = 1; i < 10; i ++) {
    System.out.print(i);
    for(int j = 2; j < 10; j++) { //start j at 2
        System.out.print(" " + i * j);
    }
    System.out.println();
}
for(int i=1;i<10;i++){
系统输出打印(一);
对于(int j=2;j<10;j++){//从2开始j
系统输出打印(“+i*j”);
}
System.out.println();
}
您可以这样使用:

String space;
for (int i = 1; i < 10; i ++) {
    space = ""; // declare a variable here
    for (int j = 1; j < 10; j++) {
        System.out.print(space + i * j); // and note here to change the order
        space = " "; // after the first iteration set a space to the variable
    }
    System.out.println();
}
字符串空间;
对于(int i=1;i<10;i++){
space=”“;//在此处声明一个变量
对于(int j=1;j<10;j++){
System.out.print(space+i*j);//并在此处记录以更改顺序
space=”“;//在第一次迭代后,为变量设置一个空格
}
System.out.println();
}

有几种方法可以解决这个问题。一个更干净的解决方案可能是使用Java的内置功能来连接字符串(如果我记得的话,是在Java8中添加的)

for(int i=1;i<10;i++){
字符串[]产品=新字符串[9];
对于(int j=1;j<10;j++){
乘积[j-1]=字符串的值(j*i);
}
System.out.println(String.join(“,products));
}
系统输出打印(i*j+(j<9?”,”);

当j小于9(最后一个)concat space else concat empty–

确实不清楚您希望代码做什么,请用输出示例详细说明输出如下:1 2 3 4 5 6 7 8 9*2 4 6 8 10 12 14 16 18**表示每行末尾没有空格。您在每次迭代中打印一个空格
i*j+“”
,因此,在最后一次迭代中,您将有一个额外的空间。可以将每一行放在一个字符串中,最后使用
trim()
for (int i = 1; i < 10; i++) {
    String[] products = new String[9];
    for (int j = 1; j < 10; j++) {
        products[j-1] = String.valueOf(j * i);
    }
    System.out.println(String.join(" ", products));
}
System.out.print(i * j + ( j < 9 ? " ", "" ));