在Java中字符串的字母之间添加x个空格?

时间:2013-11-27 02:09:29

标签: java

我需要接收一个整数,并打印出名称字母之间的空格数。现在我打印出一个空间。

public static void printLongName(int spaces){
String name 
char[] letter = name.toCharArray(); 
for(int i = 0; i < letter.length; i++)
System.out.print(" " + letter[i]);
System.out.println();
}

6 个答案:

答案 0 :(得分:2)

使用System.out.format()

    System.out.format("%10c", letter[i]);

更新

   int spaces=10;
   String name ="aaaaaaaa"; 
   char[] letter = name.toCharArray(); 
   for(int i = 0; i < letter.length; i++)
       System.out.format("%10c", letter[i]);

答案 1 :(得分:2)

public static void printLongName(String name, int numOfSpacesBetweenLetters) {
  StringBuffer sbSpace = New StringBuffer();
  for (int i = 0; i <= numOfSpacesBetweenLetters; i++) {
    sbSpace.Append(" ");
  }

  char[] letter = name.toCharArray(); 
  for (int i = 0; i < letter.length; i++) {
    System.out.print(sbSpace + letter[i]);
    System.out.println();
  }
}

答案 2 :(得分:0)

//System.out.print(" " + letter[i]);
//System.out.print(getSpace(10) + letter[i]);like this you can


public String getSpace(int count)
{
  String space="";
  for(int i=0;i<count;i++)
        space+=" ";
   return space;
}

答案 3 :(得分:0)

我相信你正在寻找这样的东西:

System.out.format("[%13s]%n", "");  // prints "[             ]" (13 spaces)
System.out.format("[%1$3s]%n", ""); // prints "[   ]" (3 spaces)

此正则表达式允许您适当地添加空格。

答案 4 :(得分:0)

您需要首先使用参数输入构建​​空格字符串。请看下面的代码:

    public static void printLongName(int spaces){
        String name = "hello";
        StringBuilder sb = new StringBuilder();
        String spaceStr = "%"+spaces+"c";
        char[] letter = name.toCharArray();

        for(int i = 0; i < letter.length; i++) {
            if (i == 0) {
                sb.append(letter[i]);
            } else {
                sb.append(String.format(spaceStr, letter[i]));
            }
        }
        System.out.println(sb);
    }

    public static void main(String[] args) {
        printLongName(4);
    }

更新一些代码。

答案 5 :(得分:0)

此函数将返回带空格的字符串:

String nameWithSpaces(String name, int spaces) {
    StringBuilder sbname = new StringBuilder(name);
    String spaces = String.valueOf(new char[spaces]).replace("\0", " ");
    for (int i=1; i < sbname.length(); i += spaces.length()+1)
        sbname.insert(i, spaces);
    return sbname.toString();
}