2015-07-24 6 views
3

Мне нужна ваша помощь в добавлении пробелов перед строкой, поскольку мне нужно отформатировать значение String, чтобы находиться в определенной позиции на странице. Например:Как добавить пробел перед строкой

System.out.println("   Hello Word!!"); 

выше даст 10 пробелов перед строкой, которую я сделал их руководство, но есть ли другой способ задать пространство перед строкой, кроме добавления вручную пробелы?

+1

Посмотрите на 'System.out.printf();' метод. – Codebender

+0

Что именно вы просите? Как вы * хотите * указать пробелы? –

+0

Из-за этого вопроса я изучил методы классов String и обнаружил, что нет метода padLeft, как в .NET Framework – Sweeper

ответ

2

Рассматривают это как ваш код ....

public static void main(String[] args) { 

     String hello = "hello"; 
     Brute b = new Brute(); 
     System.out.println(b.addspace(1,hello)); 
    } 

    String addspace(int i, String str) 
    {  
     StringBuilder str1 = new StringBuilder(); 
      for(int j=0;j<i;j++) 
      { 
       str1.append(" "); 
      } 
      str1.append(str);   
      return str1.toString();   

    } 

Это добавит желаемый нет пробелов в строке в ее начале ...

Просто передайте свой вход String и нет пространств, необходимых ....

Как addspace(<no_of_spaces>,<input_string>);

+1

Это то, что я ищу ... Спасибо – 99maas

+1

Другие решения сделают все это в 1 или 2 строке, я не согласен, что это должно быть принятое решение – cahen

3
String newStr = String.format("%10s", str); 
+1

это неправильно, он не добавит 10 пробелов, это будет 10 минус длина строки. Кроме того, «-» поместит белые области в конец – cahen

+2

'String.format ("% 10s% s "," ", str);' then. –

+0

Мне нужно сохранить пробелы в начале строки – 99maas

0

Вы можете предписанием е собственный fumction:

public static void main(String[] args) { 
     String myString = "Hello Word!!"; 
     System.out.println(getWhiteSpace(10)+myString); 
    } 

    private static String getWhiteSpace(int size) { 
     StringBuilder builder = new StringBuilder(size); 
     for(int i = 0; i <size ; i++) { 
      builder.append(' '); 
     } 
     return builder.toString(); 
    } 
0

Это может быть полезно для вас,

String s = "%s Hellow World!"; 
    StringBuilder builder = new StringBuilder(); 
    for(int i=0;i<10;i++){ 
     builder.append(" "); 
    } 

    System.out.println(s.format(s,builder.toString())); 

Вы можете изменить изменить количество пространства в течение цикла.

0
String str = "Hello Word!!"; 
String.format("%1$" + (10 + str.length()) + "s", str)); 

Результат:

|   Hello Word!!| 
добавил пробельные символы
0
import java.io.*; 
import java.util.*; 
class spaceBeforeString 
{ 
    public static void main(String args[]) 
    { 
     String str="Hello";  

     for(int i=0;i<10;i++) 
     { 
       str=" "+str; 
     } 
     System.out.println(str); 
    } 
} 
+0

Просто используя цикл for, мы можем достичь 10 пробелов –

0
import java.util.*; 
import java.io.*; 

class AddSpaceDemo 
{ 
    String str; 
    int noOfSpaces; 
    Scanner sc=new Scanner(System.in); 

    void getInput() 
    { 

     System.out.println("Enter the string before which the space is to be added: "); 
     str=sc.next(); 

     System.out.println("Enter the no. of spaces to be added before the string: "); 
     noOfSpaces=sc.nextInt(); 

    } 

    String addSpaceBefore() 
    { 
     for(int i=0;i<noOfSpaces;i++) 
     { 
      str=" "+str; 
     } 
     return str; 
    } 




} 



class AddSpace 
{ 

    public static void main(String args[]) 
    { 
     String s; 
     AddSpaceDemo a=new AddSpaceDemo(); 
     a.getInput(); 
     s=a.addSpaceBefore(); 
     System.out.println("String after adding whitespace before string: "); 
     System.out.println(s); 

    } 
} 
+0

Это может быть другой способ сделать это. –

Смежные вопросы