【问题标题】:Printing arraylist three numbers at a time一次打印arraylist三个数字
【发布时间】:2013-04-11 08:34:21
【问题描述】:

所以我有一个充满浮点数的数组列表,当前打印在一行上: -221.5, -301.6, 19.2, -249.3, -312.2, 19.7,..

String arrayString = arr.toString();
arrayString= arrayString.substring(1,arrayString.length()-1); //Removes brackets
outputFile.println("array[]={"+arrayString+"};");

如何格式化数组列表,使其每三个数字打印一个新行,例如:

-221.5, -301.6, 19.2, 
-249.3, -312.2, 19.7,
...

【问题讨论】:

  • 从用java写东西开始。
  • 用这个:i % 3 == 2

标签: java printing arraylist formatting


【解决方案1】:

尝试使用这个...

public static void main(String[] args) {

    List<Float> floatList=new ArrayList<Float>();
    int i=0;

    floatList.add(-221.5f);
    floatList.add(-221.6f);
    floatList.add(-221.7f);
    floatList.add(-221.8f);
    floatList.add(-221.9f);
    floatList.add(-221.1f);
    for (Float float1 : floatList) {
        i++;
        System.out.print(" "+float1+",");
        if(i%3==0){
            System.out.println();
        }

    } 

输出:

-221.5, -221.6, -221.7,
-221.8、-221.9、-221.1、

【讨论】:

    【解决方案2】:

    在您的应用程序中,由三个数字组成的组是一些有意义的数量或实体(它们在我看来像是某种坐标!)?如果是这样,只需将它们组合成一个对象。

    List<MyVector> list = new ArrayList<MyVector>;
    list.add(new MyVector(-221.5, -301.6, 19.2));
    list.add(new MyVector(-249.3, -312.2, 19.7));
    
    for(MyVector v : list) {
        System.out.println(v.toString());
    }
    

    否则使用@x4rf41 的建议。

    【讨论】:

    • arraylist 中的数字不止六个,有几百个。这与输出文件的格式有关,它一直不起作用。我可以看到我的输出文件和其他示例之间的唯一区别是示例具有这种打印格式,而不是全部打印在一行上。
    【解决方案3】:
    for(int i=0;i<arr.length;i++) {
        outputFile.print(arr[i]+" ");
        if(i%3==2) {
            outputFile.println();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-28
      • 1970-01-01
      • 2011-12-02
      • 2018-03-18
      • 1970-01-01
      • 1970-01-01
      • 2021-11-02
      相关资源
      最近更新 更多