2014-03-24 101 views
0

如何从2d打印无括号的数组。基本上,我第一次添加具有新值的数组到2D与:打印无括号的对象阵列

books=(Object[][]) Arrays.copyOf(row,2); 

,而书籍已经被初始化为二维数组:

static Object[][] books=new Object[1][1]; 

但是当我尝试打印从书本中的第一行搭配:

System.out.println(Arrays.deepToString(books[0])+" "); 

它打印我括号和逗号

[asds,asdas,223] 

像是假设要做的。

我该如何删除这些?

谢谢!

+1

只是循环,并建立任何你想要的方式串?简单的例子:'String str =“”; for(int i = 0; i

+0

如果你不想默认格式化,你应该在你的数组上迭代并自己进行格式化。要做到这一点,请按照@ Lavekush的回答。 – Joffrey

+0

我对JAVA不熟悉。我在搜寻时得到了。这可能会帮助你。 http://stackoverflow.com/questions/4389480/print-array-without-brackets-and-commas – Arun

回答

0

你可以试试这个

String output ; 
    for(String s: books[0]){ 
     output = output +s+ ","; 
    } 
output = output.substring(0, output.length()-1); 
System.out.print(output); 
+1

根据矩阵中包含的项目数量,“StringBuilder”可能更合适。 – Joffrey

+0

毫无疑问,使用'StringBuilder'可以提高性能。 – guptakvgaurav

1

您可以使用replaceAll和简单:

myStr = myStr.replaceAll("\\[|\\]", ""); 
1

通过自己动手试试这个

StringBuilder builder = new StringBuilder(); 

    for (String value : publicArray) { 

     builder.append(value +","); 

     // or builder.append(value).append(","); 
    } 

    String text = builder.toString(); 
    System.out.print(text); 
+2

因为你已经有了一个'StringBuilder',你应该再次使用'append()'而不是'+'。这将是'builder.append(value).append(“,”);'。这样,你可以避免隐式分配一个新的'StringBuilder'。 – Joffrey