2015-06-23 2 views
1

В C мы можем указать сумму в пространстве, чтобы оставить в printf, любой аналогичный способ сделать это в java?Относительно printf ("% * s", отступ, сообщение) в java?

Например

int space=6; 
char message[10]="hi"; 

printf("%*s",space,message); 

напечатает

hi 
+0

AFAIK вы должны динамически создавать последовательность пробелов для отступа. Вы можете сами создать метод, который имитирует это поведение, которое не должно быть так тяжело. – Thomas

+0

Я знаю, но мне нужно решить определенные проблемы под ограничениями, где написано слишком много методов и т. Д., Возможно, я понял, что C имеет это из коробки, а не java –

ответ

6

Создать строку формата динамически:

int space = 6; 
System.out.printf("%" + space + "s", "hi"); 
+0

хорошо спасибо, не могу ли это сделать в println правильно? –

+0

'println' не принимает строку формата в Java. Если вы хотите вывод в 'String', используйте' String result = String.format («%» + пробел + «s», сообщение); ' – Jesper

+0

спасибо, но wont, ("% "+ space + .... ....... endup priting 6 как строка? –