Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从System.out.println()中删除尾随空格;JAVA_Java_Output_Whitespace - Fatal编程技术网

如何从System.out.println()中删除尾随空格;JAVA

如何从System.out.println()中删除尾随空格;JAVA,java,output,whitespace,Java,Output,Whitespace,这是我的代码: import java.util.*; public class Main { public static void fill(char mat[][], int x, int y, char prevV, char currV) { if (x < 0 || x >= mat.length || y < 0 || y >= mat.length) return; if (mat[x][y] != prevV)

这是我的代码:

import java.util.*;

public class Main {

public static void fill(char mat[][], int x, int y, char prevV, char currV) {
    if (x < 0 || x >= mat.length || y < 0 || y >= mat.length)
        return;
    if (mat[x][y] != prevV)
        return;

    mat[x][y] = currV;

    fill(mat, x + 1, y, prevV, currV);
    fill(mat, x - 1, y, prevV, currV);
    fill(mat, x, y + 1, prevV, currV);
    fill(mat, x, y - 1, prevV, currV);
}

public static void replace(char mat[][]) {
    for (int i = 0; i < mat.length; i++)
        for (int j = 0; j < mat.length; j++)
            if (mat[i][j] == 'O')
                mat[i][j] = 'v';

    for (int i = 0; i < mat.length; i++)
        if (mat[i][0] == 'v')
            fill(mat, i, 0, 'v', 'O');
    for (int i = 0; i < mat.length; i++)
        if (mat[i][mat.length - 1] == 'v')
            fill(mat, i, mat.length - 1, 'v', 'O');
    for (int i = 0; i < mat.length; i++)
        if (mat[0][i] == 'v')
            fill(mat, 0, i, 'v', 'O');
    for (int i = 0; i <mat.length; i++)
        if (mat[mat.length - 1][i] == 'v')
            fill(mat, mat.length - 1, i, 'v', 'O');

    for (int i = 0; i < mat.length; i++)
        for (int j = 0; j < mat.length; j++)
            if (mat[i][j] == 'v')
                mat[i][j] = 'X';
}

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
    int m = sc.nextInt();
    char[][] mat = new char[n][m];
    for(int i = 0; i < n; i++) {
        for(int j = 0; j < m; j++) {
            mat[i][j] = sc.next().charAt(0);
        }
    }
    replace(mat);

    for(int i = 0; i < n; i++) {
        for(int j = 0; j < m; j++) {
                System.out.print(mat[i][j] + " ");
            }
            System.out.println();
        }
    }
}
import java.util.*;
公共班机{
公共静态空白填充(字符mat[][],整数x,整数y,字符prevV,字符currV){
如果(x<0 | | x>=材料长度| | y<0 | | y>=材料长度)
返回;
if(mat[x][y]!=prevV)
返回;
mat[x][y]=currV;
填充物(垫、x+1、y、上一层、当前);
填充物(垫、x-1、y、上一层、当前);
填充物(垫、x、y+1、上一层、当前);
填充物(垫、x、y-1、上一层、当前);
}
公共静态无效替换(char mat[][]){
对于(int i=0;i对于(int i=0;i,当它位于行的末尾时,不要给出空格字符。

你可以这样写:

for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
        if (j < m - 1)
            System.out.print(mat[i][j] + " ");
        else
            System.out.println(mat[i][j]);
    }
}
for(int i=0;i
在行尾时不要给空格字符。

你可以这样写:

for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
        if (j < m - 1)
            System.out.print(mat[i][j] + " ");
        else
            System.out.println(mat[i][j]);
    }
}
for(int i=0;i
为输出空白添加条件:

for (int j = 0; j < m; j++) {
    System.out.print(mat[i][j]);
    if (j < m - 1) {
        System.out.print(" ");
    }
}
for(int j=0;j
为输出空白添加条件:

for (int j = 0; j < m; j++) {
    System.out.print(mat[i][j]);
    if (j < m - 1) {
        System.out.print(" ");
    }
}
for(int j=0;j
除了给出答案之外,您还可以这样做

for(int i = 0; i < n; i++) {
    int j =0; //we move j outside so that it can be accessed later 
    for( ; j < m -1; j++) { //notice we skip the last entry of the row
        System.out.print(mat[i][j] + " ");
    }
    System.out.println(mat[i][j]); //we add the last entry of the row here.
}
for(int i=0;i

优点是,您不需要每次迭代都进行if检查,并且对当前代码的更改最小。

除了给出的答案之外,您还可以这样做

for(int i = 0; i < n; i++) {
    int j =0; //we move j outside so that it can be accessed later 
    for( ; j < m -1; j++) { //notice we skip the last entry of the row
        System.out.print(mat[i][j] + " ");
    }
    System.out.println(mat[i][j]); //we add the last entry of the row here.
}
for(int i=0;i

优点是您不需要每次迭代都进行if检查,并且对当前代码的更改最小。

您还可以在else部分中使用
println
,并将其从外循环中删除。您也可以在else部分中使用
println
,并将其从外循环中删除。