【问题标题】:Assigning StringBuilder output to String Array in Java在 Java 中将 StringBuilder 输出分配给字符串数组
【发布时间】:2023-03-31 19:39:02
【问题描述】:

我浏览了网站上的几个示例,所有示例都将 StringBuilder 输出分配给了 String 变量。我想将值分配到一个数组中。当我使用char names[]= s1.toString().toCharArray(); 工作时。但是现在String names[]= s1.toString(); 不起作用。以下是我的代码,

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//

}

【问题讨论】:

  • 放入数组还是放入数组?后者行不通。 String 不是 String[]
  • 您可以将 s1 作为字符串数组 names 的一个元素,但您想将其拆分,因为每个字符都是 names 数组的不同索引?
  • @SotiriosDelimanolis 你能告诉我我哪里出错了。我没有得到你很好。我还是个初学者。
  • @ZeldaZach 是的
  • 你希望names的内容是什么?

标签: java arrays string stringbuilder


【解决方案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));
}

【讨论】:

  • @Downvoter,有什么理由吗?很想知道答案有什么问题
  • @ZeldaZach 我不是反对者,但你回答了这个问题,恕我直言,不清楚 OP 在问什么。你似乎在猜一个问题。正如我所说,我没有投反对票,但我标记为“不是答案”。我现在撤回了那个标志,因为事实证明你猜对了:-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-09
  • 1970-01-01
  • 2014-01-16
  • 2021-12-07
  • 2023-03-09
相关资源
最近更新 更多