2015-02-09 84 views
0

我純粹是Java的新手。昨天我正在做家務。我不得不按字符分割字符串並將這些字母存儲在數組中。然後打印這個數組。 (DONE)如何連接一個字符到數組(Java)的每個元素

然後將單個字符(假設爲'a')連接到該數組的每個元素並打印結果。 (未完成)

最後連接所有這些元素並創建一個字符串並打印出來。 (NOT DONE)

String name = "Rocky"; 
int i; 
int size = name.length(); 
char strings[] = new char[size]; 
for (i = 0; i <= size; i++) { 
    strings[i] = name.charAt(i); 
    System.out.println(strings[i]); // 1st output is done 
} 

第二輸出(連續字符)應爲:

Ra 
oa 
ca 
ka 
ya 

第三輸出(單串聯的字符串)應該是:

Raoacakaya 

最後,我已經做到了這一點,並且它的工作原理 - 所有我的作業也許並非全部達到標準。謝謝你的回覆。

String a="a";     
    String name="Rocky"; 
    String temp=""; 
    int i; 
    String array[]=name.split(""); 
    String array2[]=new String[name.length()+1]; 
    for(i=1; i<=name.length();i++) 
    { 
     System.arraycopy(array, 0, array2, 0, array.length); 
     System.out.println(array[i]); 
    } 
    System.out.println(); 
    for(i=1; i<=name.length();i++) 
    { 
     System.out.println(array2[i]+a); 
     array2[i]=array2[i]+a; 
    } 
    for (i=1; i<array2.length;i++) 
    { 
     temp=temp+array2[i]; 
    } 
    System.out.println(); 
    System.out.println(temp); 
    } 
    } 
+1

SO是不是爲了幫助功課。 – EternalHour 2015-02-09 10:38:05

+0

我知道。對不起,有關硬件的問題。但我無法自己做這就是爲什麼尋求幫助。不會再這樣做。 – Mojdul 2015-02-09 13:49:42

回答

3

首先,你並不需要使用int size,只需使用name.length()來代替。至於輸出,你可以這樣做:

char c2 = 'a'; 
String all = ""; 
for(char c : strings) 
{ 
    String s = String.valueOf(c) + String.valueOf(c2); 
    System.out.println(s); // 2nd output 
    all += s; 
} 
System.out.println(all); // 3rd output 
0

我希望我能幫到你。如果是的話,這應該做的伎倆:

public static void homeWork() { 
    final String name = "Rocky"; 
    final char toAdd = 'a'; 
    char[] array = name.toCharArray(); 
    String concatenated = concatenate(array, toAdd); 
    System.out.println("Concatenated : " + concatenated); 
} 

public static String concatenate(char[] array, char toAdd) { 
    StringBuilder buidler = new StringBuilder(); 
    for (char c : array) { 
     String toAppend = String.valueOf(c) + String.valueOf(toAdd); 
     System.out.println(toAppend); 
     buidler.append(toAppend); 
    } 
    return buidler.toString(); 
} 

您運行通過與該陣列的每個循環和追加 所有字符,放在「TOADD」信。 打印每個循環的結果並在方法返回後打印最終結果 。

輸出:

Ra 
oa 
ca 
ka 
ya 
Concatenated : Raoacakaya 
+0

您不能簡單地將'char'添加到'String',因爲它沒有默認的'.ToString()'函數,您必須先將其轉換爲'String'。 – Aradmey 2015-02-09 10:50:00

+0

你完全正確,修復了我的帖子。謝謝。 – JacksOnF1re 2015-02-09 10:53:25

0

對於第二輸出:

char a = 'a'; 
String all = ""; 
for(char c : strings) 
{ 
    String s = String.valueOf(c) + String.valueOf(a); 
    System.out.println(s); 

} 

對於第三輸出:

char a = 'a'; 
String wholeString= ""; 
for(char c : strings) 
{ 
    String s = String.valueOf(c) + String.valueOf(a); 
    System.out.print(s); 
    wholeString+= s; 
} 

的System.out.println(wholeString);

+0

'並在最後連接所有這些元素,並創建一個字符串,並得到一個輸出「您的解決方案的第3部分連接字符串?您只是根據要求將獨立的子字符串打印到控制檯,而不是單個字符串。 – Tom 2015-02-09 12:35:30

+0

是的湯姆我的錯誤。這裏要麼必須添加StringBuffer或'+' – Nimesh 2015-02-09 12:57:05

相關問題