-3

我不知道我可以在下面的字符打印之间添加空格是我的代码:

import java.util.*;
public class Slide{
    private char[][] cells;

    public Slide(){
        cells= new char[][]{//
            {'@','@','@','@'},
            {'@','@','@','@'},
            {'@','@','@','@'},
            {'@','@','@','@'}
        }; 

    }

    public Slide(char[][] cells){// 
        for(int row=0; row<cells.length; row++)
            for(int column = 0; column<cells[row].length; column++)

                this.cells = cells;
    }

    public void print(){

        for(char[] a: cells){
            System.out.println(a);//



        }


    }

}
4

1 回答 1

3

直接打印数组通常不是您想要做的,因为数组不会覆盖toString,这意味着输出在大多数情况下都没有意义。如果您感兴趣的只是打印元素之间的空格,那么这就足够了:

for (char[] a : cells) {
    for (char c : a) {
        System.out.print(c);
        System.out.print(' ');
    }
    System.out.println();
}

顺便说一句,我不知道你在第二个Slide构造函数中正在做什么(或试图做什么)。你只是分配this.cellscells很多次。你的意思是复制一份cells吗?

this.cells = new char[cells.length][];  // create new empty array

for(int row = 0; row < cells.length; row++) {
    this.cells[row] = new char[cells[row].length];  // initialize row

    for(int column = 0; column < cells[row].length; column++)
        this.cells[row][column] = cells[row][column];  // copy elements
}
于 2013-09-24T23:38:15.323 回答