在字符串之前添加空格 - 不像我想象的那样运作

use*_*057 2 java concatenation

我熟悉连接,这是一个简单的概念.我正在尝试做什么 - 使用简单的子串方法对齐几个数字.这就是我所拥有的,希望能更好地解释它:

String a1 = "    " + "" + a;
String e1 = "    " + "" + e;
String i1 = "    " + "" + i;
String o1 = "    " + "" + o;
String u1 = "    " + "" + u;

System.out.println ("The file contained:");
System.out.println ("A: " +  a1.substring(4));
System.out.println ("E: " +  e1.substring(4));
System.out.println ("I: " +  i1.substring(4));
System.out.println ("O: " +  o1.substring(4));
System.out.println ("U: " +  u1.substring(4));
Run Code Online (Sandbox Code Playgroud)

我省略了其余的代码,因为它与我的问题无关(并且工作正常).

我希望这样做可以将a,e,i,o和u与4个'空格'连接起来.当我运行程序时,在a,e,i,o或u之前没有任何空格的迹象.

任何帮助或意见表示赞赏,谢谢.

编辑*:我应该澄清.我想要字符串的最后4个字符,因此a1.substring(4);.

编辑2:我是个白痴.这对我来说是一个非常简单的忽视.正确使用子字符串右对齐的代码:

     String a1 = "    " + a;
     String e1 = "    " + e;
     String i1 = "    " + i;
     String o1 = "    " + o;
     String u1 = "    " + u;
  System.out.println ("The file contained:");
  System.out.println ("A: " +  a1.substring(a1.length() - 4));
  System.out.println ("E: " +  e1.substring(e1.length() - 4));
  System.out.println ("I: " +  i1.substring(i1.length() - 4));
  System.out.println ("O: " +  o1.substring(o1.length() - 4));
  System.out.println ("U: " +  u1.substring(u1.length() - 4));
Run Code Online (Sandbox Code Playgroud)

use*_*001 5

如果你想做的只是对齐整数,你可以这样做printf:

int a = 10;
int b = 100;
System.out.printf("A:%20d\n", a);
System.out.printf("B:%20d\n", b);
Run Code Online (Sandbox Code Playgroud)

输出:

A:                  10
B:                 100
Run Code Online (Sandbox Code Playgroud)

编辑后进行编辑.

取一个字符串的最后四个字符做

s.substring(s.length()-4)
Run Code Online (Sandbox Code Playgroud)