2017-06-22 103 views
-1

我在网站&上经历了几个例子,他们都将StringBuilder输出分配给一个String变量。我想将这个值赋给一个数组。汗我用char names[]= s1.toString().toCharArray();工作。但现在String names[]= s1.toString();不工作。以下是我的代码,将StringBuilder输出分配给Java中的字符串数组

public static String[] Assign(String fn1, String ln1, String fn2, String ln2)    //Functions to assign names into arrays// 
{  
    String fname1[]= fn1.split("(?!^)");        //Storing the user's 1st name in an array// 
    String lname1[]= ln1.split("(?!^)");        //Storing the user's last name in an array// 

    String fname2[]= fn2.split("(?!^)");        //Storing the friend's 1st name in an array// 
    String lname2[]= ln2.split("(?!^)");        //Storing the friend's last name in an array// 

    String and[]= {"a","n","d"};         //Array for the and part// 

    StringBuilder s1= new StringBuilder(100); 
    s1.append(fname1); 
    s1.append(lname1); 
    s1.append(and); 
    s1.append(fname2); 
    s1.append(lname2);          //Breaking down the arrays// 

    String names[] = s1.toString();          //Store the arrays into 1 array// 

    return names;           //Returning the array// 

} 
+2

_into的array_或_TO的array_?后者将不起作用。 'String'不是'String []'。 –

+0

你可以把s1作为String数组''names'的一个元素,但是你想分割它,因为每个字符都是'names'数组的不同索引? – ZeldaZach

+0

@SotiriosDelimanolis你能告诉我我哪里出错了。我没有得到很好的结果。我还是个初学者。 – Amaani

回答

-1

基于什么要求,如何把一个字符串转换为String[]作为单个字符的每个索引(它可能应该是一个char[],这是我怎么会给我的例子) ,我们可以采取一个字符串,并插入它:

char names[] = new char[s1.length()]; 
for (int i = 0; i < names.length; i++) 
{ 
    names[i] = s1.charAt(i); 
} 

这应该有助于解决问题。

如果需要的是由于某种原因String[] ...

String names[] = new String[s1.length()]; 
for (int i = 0; i < names.length; i++) 
{ 
    names[i] = Character.toString(s1.charAt(i)); 
} 
+0

@Downvoter,有什么理由?我很想知道答案的错误 – ZeldaZach

+0

@ZeldaZach我不是downvoter,但是你回答了问题的地方,不明白OP的要求。你似乎在猜测一个问题。正如我所说我没有倒退,但我抨击为“不是答案”。我现在已经撤回了那面旗帜,因为原来你猜对了:-) –