Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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 如何打印四列数据_Java_Arrays_Multiple Columns - Fatal编程技术网

Java 如何打印四列数据

Java 如何打印四列数据,java,arrays,multiple-columns,Java,Arrays,Multiple Columns,我有一个数组的数据,我正试图把它转换成一种格式,如 Frequencies: 1 (221)- 12 (229)+ 23 (230)+ 34 (223)- 2 (229)+ 13 (235)+ 24 (236)+ 35 (237)+ 3 (217)- 14 (225)- 25 (241)+ 36 (238)+ 4 (201)- 15 (223)- 26 (251)+ 37 (233)+ 5 (228)- 16

我有一个数组的数据,我正试图把它转换成一种格式,如

Frequencies:
 1 (221)-   12 (229)+   23 (230)+   34 (223)-   
 2 (229)+   13 (235)+   24 (236)+   35 (237)+   
 3 (217)-   14 (225)-   25 (241)+   36 (238)+   
 4 (201)-   15 (223)-   26 (251)+   37 (233)+   
 5 (228)-   16 (238)+   27 (244)+   38 (219)-   
 6 (235)+   17 (232)+   28 (224)-   39 (234)+   
 7 (229)+   18 (240)+   29 (231)+   40 (229)+   
 8 (227)-   19 (217)-   30 (225)-   41 (263)+   
 9 (200)-   20 (198)-   31 (230)+   42 (221)-   
10 (211)-   21 (252)+   32 (226)-   43 (243)+   
11 (221)-   22 (228)-   33 (215)-   44 (227)-

我搞不懂的是,我怎么才能下降到11,然后进入一个新的专栏,下降到11,依此类推?感谢您的时间,噢,这是java。

我假设您有一个1D数组,您正试图将其组织成列以供显示。这有时可能很棘手,但基本上可以归结为:

  • 创建将单个元素格式化为固定宽度字符串的方法
  • 创建一种方法来确定与给定行和列对应的元素
  • 一次输出一行
  • 因此,从格式化开始,例如(假设
    元素
    是您要打印的内容):

    有关可以指定为的格式字符串的详细信息,请参见

    然后,由于一次只能打印一行,因此需要能够确定给定行和列编号的元素的索引。这要求您能够提前计算行数。假设您有一个
    数组列表元素

    int rows = elems.size() / 4; 
    
    现在,使用
    作为行中相邻元素之间的偏移量,一次输出一行:

    PrintWriter out = System.out; // or whatever
    
    for (int r = 0; r < rows; ++ r) {
       for (int c = 0; c < 4; ++ c) {
          int index = c * rows + r; 
          if (index < elems.size()) { 
              printElement(out, elems.get(index)); // print data
              out.print("  "); // column spacer
          }
       }
       out.println(); // line ending after each row
    }
    
    PrintWriter out=System.out;//或者别的什么
    对于(int r=0;r
    旁注:当然,在(现在很少见的)情况下,您的唯一输出是到一个合适的终端,您也可以使用,例如,显式设置屏幕上的输出行和列。但是,这可能不是您所处的情况。

    public void genStats(int[]数组)
    
    public void genStats(int[] array)
    {
        int mod = array.length / 4;
    
        for(int i = 0; i < mod; i++)
        {
            System.out.println(array[i] + " " + array[i + mod*1]
                    + " " + array[i + mod*2] + " " + array[i + mod*3]);
        }
    }
    
    { int mod=array.length/4; 对于(int i=0;i
    如果
    array.length
    不是4的倍数,这将在最后一行抛出
    ArrayIndexOutOfBoundsException
    。此外,在示例
    int[]
    中,它不能保证固定宽度的列(例如打印
    1
    1000
    )。
    public void genStats(int[] array)
    {
        int mod = array.length / 4;
    
        for(int i = 0; i < mod; i++)
        {
            System.out.println(array[i] + " " + array[i + mod*1]
                    + " " + array[i + mod*2] + " " + array[i + mod*3]);
        }
    }