Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.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
arraylist Java的对齐输出_Java_Arraylist_Output - Fatal编程技术网

arraylist Java的对齐输出

arraylist Java的对齐输出,java,arraylist,output,Java,Arraylist,Output,我是Java新手,我只想问一些关于如何使用align格式从arraylist输出数据的问题,例如: CustomerNo Name PhoneNo Status 1 Ali 0177788901 Normal 我尝试了很多方法,比如“/t”: for(int i=0;i如评论中所述,您应该真正将每个客户存储在一个中,无论如何,根据您当前的尝试,这里有一个脆弱的解决方案: impo

我是Java新手,我只想问一些关于如何使用align格式从arraylist输出数据的问题,例如:

CustomerNo      Name            PhoneNo            Status
         1       Ali         0177788901         Normal
我尝试了很多方法,比如“/t”:


for(int i=0;i如评论中所述,您应该真正将每个客户存储在一个中,无论如何,根据您当前的尝试,这里有一个脆弱的解决方案:

import java.util.List;

public class Main {
    private static final String COLUMN_FORMAT = "%15s";

    public static void main(String[] args) {
        List<String> columnNames = List.of("CustomerNo", "Name", "PhoneNo", "Status");
        List<String> customerData = List.of("1", "Ali", "0177788901", "Normal",
                                            "2", "Bill", "0277788901", "Good");
        for (String column : columnNames) {
            System.out.printf(COLUMN_FORMAT, column);
        }
        System.out.println();
        for (int i = 0; i < customerData.size(); i += 4) {
            for (int j = i; j < i + 4; j++) {
                System.out.printf(COLUMN_FORMAT, customerData.get(j));
            }
            System.out.println();
        }
    }
}

您还应该在System.out.print(cusData.get(i)+“\t”)中使用printf;String类的format方法为您提供了一种不同的方式来构造列对齐的输出行。%20s右对齐字符串,而%20s左对齐字符串。看起来您将数据存储为一包项,而不是一个适当的类。这使您的任务变得不必要的困难。不确定为什么要这样做t将
phoneNumber
列与
CustomerNo
Name
列进行不同的对齐方式?@chrylis谨慎优化-如何将数据存储为适当的类?如果需要,我可以将数据发送给您。
for(int i = 0; i <= formatCus.size()-1; i++){
            System.out.printf("%15d",formatCus.get(i));
         }
         System.out.println("");
        for(int i = 0; i <= cusData.size()-1; i++){
            System.out.printf("%15d",cusData.get(i));
         }
import java.util.List;

public class Main {
    private static final String COLUMN_FORMAT = "%15s";

    public static void main(String[] args) {
        List<String> columnNames = List.of("CustomerNo", "Name", "PhoneNo", "Status");
        List<String> customerData = List.of("1", "Ali", "0177788901", "Normal",
                                            "2", "Bill", "0277788901", "Good");
        for (String column : columnNames) {
            System.out.printf(COLUMN_FORMAT, column);
        }
        System.out.println();
        for (int i = 0; i < customerData.size(); i += 4) {
            for (int j = i; j < i + 4; j++) {
                System.out.printf(COLUMN_FORMAT, customerData.get(j));
            }
            System.out.println();
        }
    }
}
 CustomerNo           Name        PhoneNo         Status
          1            Ali     0177788901         Normal
          2           Bill     0277788901           Good