2013-03-05 51 views
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(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)); 

我省略了代碼的其餘部分,因爲它是不相關的,我的問題(和正常工作)。

我希望這會做的是連接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)); 
+7

所有這些串電話中刪除所有的空格。 – bmargulies 2013-03-05 23:13:41

回答

1

嘗試

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(0, 4)); 
System.out.println ("E: " + e1.substring(0, 4)); 
System.out.println ("I: " + i1.substring(0, 4)); 
System.out.println ("O: " + o1.substring(0, 4)); 
System.out.println ("U: " + u1.substring(0, 4)); 

子(4)準確地打印字符串 子第四屆指數(0,4)打印從指數0到4一。

3

如果需要使用空格,你可以這樣做:

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); 
System.out.println ("E: " + e1); 
System.out.println ("I: " + i1); 
System.out.println ("O: " + o1); 
System.out.println ("U: " + u1); 
+0

但user000001的答案將正確對齊所有內容。 – 2013-03-05 23:23:30

5

如果你想要做的是正確的,allign整數,你可以用printf這樣做:

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

輸出:

A:     10 
B:     100 

編輯後出現問題。

獲得一個字符串的最後四個字符做

s.substring(s.length()-4) 
+0

但是,如何使用子串方法來做到這一點?我確定你的方式更有效率,但是分配要求使用子字符串方法。 – user2130057 2013-03-05 23:25:31

+0

請參閱編輯。 'substring()'將需要保留的子字符串的起始索引作爲參數。取最後四個字符,從字符串 – user000001 2013-03-05 23:29:12

+0

的'length()'中減去4。我讀過(並且已經這樣做),如果你只在參數中包含一個整數,它將從該點開始到字符串的末尾。儘管如此,我仍然可以做到這一點,希望能夠奏效。編輯:我是個白癡。我剛剛意識到你的意思。嘎,那真的很簡單。謝謝! – user2130057 2013-03-05 23:32:51

相關問題