2013-11-01 3 views
0

Пытается распечатать это утверждение правильно, оно довольно сложно, потому что мне нужно «|» сразу после распечатки столбца из моего 2d массива.Формат печати правильно

System.out.println(toprow); 
    System.out.println(botrow); 
    System.out.println(line2); 
    for(row=0;row<22;row++) 
     { 
     System.out.printf("%02d%s ", row,"|"); 
     for(col=0;col<32;col++) 
      System.out.printf("%s",mapicons[row][col]); 
      System.out.printf("%s", "|"); 
     System.out.println(); 
     } 

Это то, что в настоящее время печатается:

| 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3| 
    | 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2| 
    |----------------------------------------------------------------| 
00|                 | 
01|                 | 
02|  *               | 
03|                 | 
04|    *            | 
05|                 | 
06|                 | 
07|     *           | 
08|               # | 
09|                 | 
10|       *          | 
11|                 | 
12|                 | 
13|                 | 
14|      *          | 
15|           *      | 
16|                 | 
17|                 | 
18|         *        | 
19|                 | 
20|                 | 
21|                 | 

не могу понять, как выстроить «|» в конце. Если я добавлю его в свой первый оператор printf в инструкции col для команды, он напечатает «|» для каждого столбца. Поэтому я не уверен, как избавиться от пространства, которое он автоматически занимает между двумя заявлениями печати.

+1

Начинайте с использования фигурных скобок вокруг ваших блоков и фиксации отступов. Ваш код очень запутан, как есть. –

ответ

3

Похоже, у вас есть посторонний символ пробела при печати с левой стороны каждой строки:

//      v-- here 
System.out.printf("%02d%s ", row,"|"); 

удалить его; все остальное выглядит так, как будто печать очень хорошая.

System.out.printf("%02d%s", row,"|"); 
Смежные вопросы