2015-02-09 50 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

相关问题