Java 删除最后一个逗号

Java 删除最后一个逗号,java,arrays,string,Java,Arrays,String,我正在尝试从打印方法中删除最后一个逗号。有办法做到这一点吗? 多谢各位 public void print() { for(int i = 0; i < M.length; i++){ for(int j = 0; j < M[i].length; j++){ System.out.print(M[i][j] + ","); } System.out.println(); } } pu

我正在尝试从打印方法中删除最后一个逗号。有办法做到这一点吗? 多谢各位

    public void print() {
    for(int i = 0; i < M.length; i++){
        for(int j = 0; j < M[i].length; j++){
            System.out.print(M[i][j] + ",");
        }
        System.out.println();
    }

}
public void print(){
对于(int i=0;i
输出:

1.5,2.0,3.0

3.0,2.5,4.0

2.5,4.0,2.5

我最后添加了一个“if”语句来解决同样的问题。 以下是我最终如何做到这一点:

    public void print() {
    for(int i = 0; i < M.length; i++){
        for(int j = 0; j < M[i].length; j++){
            if(j == M[i].length-1){
                System.out.print(M[i][j] +" ");
            }
            else{
                System.out.print(M[i][j] + ",");
            }
        }
        System.out.println();
    }

}
public void print(){
对于(int i=0;i
输出:

1.5,2.0,3.0

3.0,2.5,4.0


2.5,4.0,2.5

在第二个for循环中,添加一个if语句,检查它是否是列表的最后一项。如果是,请省略逗号。否则,请使用逗号。

我经常使用这个成语来解决这个问题——第一次将变量
逗号
设置为特殊(
“”
),然后第二次再将其恢复到正常状态(
,“
):

public void print() {
    for(int i = 0; i < M.length; i++){
        String comma = "";      // first time special
        for(int j = 0; j < M[i].length; j++){
            System.out.print(comma + M[i][j]);
            comma = ",";        // second time onward
        }
        System.out.println();
    }

}
public void print(){
对于(int i=0;i
您可以在项目之前而不是之后使用“
”、“
”,并且不要在第一个项目之前打印:

public void print(){
对于(int i=0;i
您可能还希望将该行存储在一个变量中,这样就不会重复访问
M
i
th元素:

public void print(){
对于(int i=0;i
如果您喜欢流,这里有一种很酷的Java8方法。使用int/double:D的数组

Arrays.stream(M)
      .map(x -> Arrays.stream(x)
                  .mapToObj(String::valueOf)
                  .collect(Collectors.joining(",")))
      .forEach(System.out::println);
你可以试试这个

public void print() {
for(int i = 0; i < M.length; i++){
    for(int j = 0; j < M[i].length; j++){
        System.out.print(M[i][j]);
       if (i < M.length-1 || j < M[i].length - 1) {
          System.out.print(",")
       }
    }
    System.out.println();
}
}
public void print(){
对于(int i=0;i

基本上,它检查元素是否是数组中的最后一个元素,如果不是,则打印逗号。如果是,则不打印逗号。希望这有帮助

您应该在第二个
for
循环中使用
if-else
语句。 与其把逗号放在后面,不如把它放在前面。 示例代码如下所示:

public void print(){
    int[][] M = {{1,3},{2,3,4},{5,6},{5,2}};
    for(int i = 0; i < M.length; i++){
        for(int j = 0; j < M[i].length; j++){
            if (j==0)
                System.out.print(M[i][j]);
            else
                System.out.print(","+M[i][j]);
        }
        System.out.println();
    }

}
public void print(){
int[]M={{1,3},{2,3,4},{5,6},{5,2};
对于(int i=0;i
代码将输出

1,3

2,3,4

5,6

5,2


系统输出打印(((j==0)?“”:“,”)+M[i][j]);谢谢你,先生。你的评论很有帮助,我已经编辑了我的问题,添加了建议的解决方案。