Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.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
Java 打印类似于ArrayList的Excel电子表格_Java - Fatal编程技术网

Java 打印类似于ArrayList的Excel电子表格

Java 打印类似于ArrayList的Excel电子表格,java,Java,有没有办法像Excel电子表格一样打印ArrayList 我的代码是: private static void printList() { for (int i = 0; i < matrizCuadrada.size(); i++) { System.out.print(fillWithSpaces(matrizCuadrada.get(i).getValor()));; } } private static String fillWithSpaces

有没有办法像Excel电子表格一样打印ArrayList

我的代码是:

private static void printList() {
    for (int i = 0; i < matrizCuadrada.size(); i++) {
        System.out.print(fillWithSpaces(matrizCuadrada.get(i).getValor()));;
    }
}

private static String fillWithSpaces(String cadena) {
    int cantidadEspacios = 9 - cadena.length();
    for (int i = 0; i < cantidadEspacios; i++) {
        cadena += " ";
    }
    return cadena;
}
private static void printList(){
对于(int i=0;i
要在二维中打印一维数据结构,如
ArrayList
,必须设置固定的行大小。这实际上是一个非常类似于将线性堆叠内存中存储的像素加载到二维图像的问题。有关此问题的更多详细信息,请查看链接文章

您需要嵌套循环来实现此行为,您已经拥有了(
fillWithSpaces()
(包含一个循环)从另一个循环内部调用)。因此,将
FillWithSpace()
更改为如下内容:

private static String fillWithSpaces(String cadena) {
    String line = "";
    for (int i = 0; i < cadena.length(); i++) {
        line += cadena.charAt(i);
        line += " ";
    }
    return line;
}
另外,您需要跳转到外循环末尾的新行。这可以通过将
System.out.print()
更改为
System.out.println()
,自动输出新行来完成


查看Daniel Shiffman的这篇文章,在不同的上下文中(在像素、像素和更多像素下)详细解释同一问题:

多说一点您需要的内容。只需像Excel电子表格格式一样在控制台中打印,包括列和行
private static String fillWithSpaces(String cadena) {
    StringJoiner joiner = new StringJoiner(" ");
    for (int i = 0; i < cadena.length(); i++) {
        joiner.add(cadena.charAt(i));
    }
    return joiner.toString();
}