通过选择分隔符将二维数组转换为字符串

如何转换此数组,以便下面代码的输出如下所示。


String[][] array = { { "a", "b" }, { "c" } };


String lineSeparator = System.lineSeparator();

StringBuilder sb = new StringBuilder();


for (String[] row : array) {

    sb.append(Arrays.toString(row))

      .append(lineSeparator);

}


String result = sb.toString();

我需要输出看起来像这样


a,b,c 

我现在得到这个


[a, b]

[c]


森林海
浏览 95回答 3
3回答

ITMISS

System.out.println(Arrays.stream(array).flatMap(ar -> Arrays.stream(ar)).collect(Collectors.joining(",")));这是使用 Java 8 流完成的,我不建议像我一样在一行中执行此操作,最好将其保存到变量中然后打印它:)

慕哥9229398

改为使用StringJoiner。IdeoneLink:https ://ideone.com/EfodvF/* package whatever; // don't place package name! */import java.util.*;import java.lang.*;import java.io.*;/* Name of the class has to be "Main" only if the class is public. */class Ideone{    public static void main (String[] args) throws java.lang.Exception    {        String[][] array = { { "a", "b" }, { "c" } };        StringJoiner sj = new StringJoiner(", ");        for (String[] row : array) {            for(String str: row){                sj.add(str);            }        }        String result = sj.toString();        System.out.println(result);    }}

慕森卡

你可以这样做:String[][] array = {{"a", "b"}, {"c"}};String s = "";for (String[] ar : array) {    for (String c : ar) {        s += c + ",";    }}if (s.length() > 1)    s = s.substring(0, s.length() - 1);System.out.println(s);我相信你是一个初学者。也许在发布问题之前做一些研究。https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java