Формат вывода контрольной печати Java - PullRequest
0 голосов
/ 09 декабря 2011
    public static void main(String[] args) {

        String[] names = {"Regina Kareem Obrien","Gretchen Brewer","Marty Cox","Roxie Blankenship","Stacey Trujillo","Ahmad James","Jordan Sykes","Frankie Hodge","Marguerite Doyle","Wilmer Baldwin"};
        String[] address = {"Avenida Ressano Garcia","Rua Roberto Duarte Silva","Avenida de Roma","Rua da Betesga","Rua Damasceno Monteiro","Rua de São Julião","Rua de São Mamede","Rua do Comércio","Rua do Salitre","Rua dos Bacalhoeiros"};
        String[]  dob = {"1999/8/26","2008/5/24","2002/10/7","2010/1/26","2005/11/21","2007/4/9","1999/8/26","2008/5/24","2002/10/7","2010/1/26"};
        int[] phone = {607544367,604903566,411315929,261809725,538236027,442128744,117255969,241273904,666757780,316948768};

        for (int i = 0; i < 10; i++){
            System.out.println("Name: " + names[i] + " Address: " + address[i] + " DOB: " + dob[i] + " Phone: " + phone[i]);
        }
    } 

это печатается так:

Name: Regina Kareem Obrien Address: Avenida Ressano Garcia DOB: 1999/8/26 Phone: 607544367
Name: Gretchen Brewer Address: Rua Roberto Duarte Silva DOB: 2008/5/24 Phone: 604903566
Name: Marty Cox Address: Avenida de Roma DOB: 2002/10/7 Phone: 411315929
Name: Roxie Blankenship Address: Rua da Betesga DOB: 2010/1/26 Phone: 261809725
Name: Stacey Trujillo Address: Rua Damasceno Monteiro DOB: 2005/11/21 Phone: 538236027
Name: Ahmad James Address: Rua de São Julião DOB: 2007/4/9 Phone: 442128744
Name: Jordan Sykes Address: Rua de São Mamede DOB: 1999/8/26 Phone: 117255969
Name: Frankie Hodge Address: Rua do Comércio DOB: 2008/5/24 Phone: 241273904
Name: Marguerite Doyle Address: Rua do Salitre DOB: 2002/10/7 Phone: 666757780
Name: Wilmer Baldwin Address: Rua dos Bacalhoeiros DOB: 2010/1/26 Phone: 316948768  

Можно ли отформатировать способ форматирования вывода?

Я бы хотел что-то вроде этого:

Name: Regina Kareem Obrien   Address: Avenida Ressano Garcia       DOB: 1999/8/26  Phone: 607544367
Name: Gretchen Brewer        Address: Rua Roberto Duarte Silva     DOB: 2008/5/24  Phone: 604903566
Name: Marty Cox              Address: Avenida de Roma              DOB: 2002/10/7  Phone: 411315929
Name: Roxie Blankenship      Address: Rua da Betesga               DOB: 2010/1/26  Phone: 261809725
Name: Stacey Trujillo        Address: Rua Damasceno Monteiro       DOB: 2005/11/21 Phone: 538236027
Name: Ahmad James            Address: Rua de São Julião            DOB: 2007/4/9   Phone: 442128744
Name: Jordan Sykes           Address: Rua de São Mamede            DOB: 1999/8/26  Phone: 117255969
Name: Frankie Hodge          Address: Rua do Comércio              DOB: 2008/5/24  Phone: 241273904
Name: Marguerite Doyle       Address: Rua do Salitre               DOB: 2002/10/7  Phone: 666757780
Name: Wilmer Baldwin         Address: Rua dos Bacalhoeiros         DOB: 2010/1/26  Phone: 316948768   

Ответы [ 5 ]

2 голосов
/ 09 декабря 2011

Soln к вашему вопросу:

System.out.println(String.format("Name: %-20s Address: %-30s DOB: %-10s Phone: %s",
                names[i], address[i], dob[i], phone[i]));

использование - для заполнения справа пробелами

2 голосов
/ 09 декабря 2011

Используйте System.out.format(...). Например:

System.out.format("%10s%15s%20s", s1, s2, s3)

будет дополнять s1 строку до 10, s2 строку до 15 и s3 строку до 20 символов.

Взгляните на Formatter Javadoc. Это объясняет эту тему полностью.

1 голос
/ 09 декабря 2011

Полагаю, \t должно вам помочь. попробуйте поиграть с этим тегом, скажем так: System.out.println("Name: " + names[i] + "\t Address: " + address[i] + "\t DOB: " + dob[i] + "\t Phone: " + phone[i]);

1 голос
/ 09 декабря 2011

Да, используйте System.out.printf, который использует строку формата для указания и форматирования его вывода.

Вы можете использовать спецификатор ширины с %s аргумент для получения правильного форматирования, такой как: %-30s.Значение - важно, оно выровняет текст по левому краю.например.

System.out.printf("Name: %-30s, Address: %-30s...", names[i], address[i]);

Поиграйте с ним, чтобы получить то, что вам нравится.

0 голосов
/ 09 декабря 2011

Вы можете использовать вкладки или посмотреть JCurses для форматирования вывода на консоль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...