2015-06-09 3 views
1

Рассмотрим строку, которую необходимо вставить в некоторый запрос или файл, где длина строки должна быть равна 40. Если длина строки меньше 40, тогда она должна добавлять пустые символы до достижения длины 40, а затем он должен быть вставлен. Как мне это сделать?Как добавить пустой символ до указанной длины?

void addstring(String str) 
{ 
     int len=str.length(); 
     PrintStream out=new PrintStream(); 
     if(len<=40) 
     { 
      out.print(str); 
     } 
     else 
     { 
      //make the string of length 40 by appending blank character and write to the file. 
     } 
} 
+1

сделать строку длиной 40 или 14 –

ответ

1

Вы можете использовать printf следующим образом:

out.printf("%-40s", str); 

Для получения дополнительной информации по строке формата, см Формат Строка Синтаксис в документации Formatter.

Обратите внимание, что если строка превышает 40 символов, строка в целом будет напечатана (без пробелов, конечно), поэтому оператор if является избыточным и может быть отброшен.

Если вы используете Guava вы можете использовать Strings.padEnd.

Если вы используете Apache Commons, вы можете использовать StringUtils.repeat и построить прокладку вручную.

0

Вы можете использовать метод StringUtils.repeat(), если используете общие ресурсы Apache.

String extraStr = StringUtils.repeat(" ", 40-len); 

А затем добавьте его в свою строку.

0

Этот метод называется «прокладка», см. here для более подробной информации.

Кроме того, я бы посоветовал проверить длину , большей или равной 40:

if (len >= 40) 
{ 
    out.print(str); 
} 
else 
{ 
    out.printf("%-40s", str); 
} 
0

Используйте следующее:

if(str.length()<40) { 
    out.printf("%-40s", str); 
} else { 
    out.printf("larger in size"); 
} 
Смежные вопросы