Java 如何打印用花括号分隔的逗号数组列表?
如何在Java中打印逗号分隔的字符串列表?例如,一个有三个成员“母亲”、“父亲”和“女儿”的家庭应打印为Java 如何打印用花括号分隔的逗号数组列表?,java,arraylist,printing,comma,curly-braces,Java,Arraylist,Printing,Comma,Curly Braces,如何在Java中打印逗号分隔的字符串列表?例如,一个有三个成员“母亲”、“父亲”和“女儿”的家庭应打印为 There is a family consists of { Mother, Father, Daughter } 还是空无一人的家庭 There is a family consists of { } 我写了这个,但它无法打印字符串列表: String[] family = {" "}; String separator = ""; Syste
There is a family consists of { Mother, Father, Daughter }
还是空无一人的家庭
There is a family consists of { }
我写了这个,但它无法打印字符串列表:
String[] family = {" "};
String separator = "";
System.out.print("{ ");
for (String word : family) {
System.out.print(separator);
System.out.print(word);
separator = " ";
}
System.out.print(" }");
谢谢大家! 尝试以下StringJoiner,它将解决您的需求
//Define the Array List
List<String> family = Arrays.asList("Mother","Father","Daughter");
//StringJoiner class joins elements with given saperator and
//Start and end characters of the List
//Below Joiner joins list items with',' character and
//add '{' at start of the list and '}' at end of the list
StringJoiner strJoin = new StringJoiner(",","{","}");
//Below is the simplified Lambda expression in Java8
//Traversing family list by forEach
//(s) denotes every element in that list and
//we are just adding that s into strjoin
family.forEach((s)->strJoin.add(s));
//printing the string joiner object
System.out.println(strJoin);
//定义数组列表
List family=array.asList(“母亲”、“父亲”、“女儿”);
//StringJoiner类使用给定的saperator和
//列表的开始字符和结束字符
//下面的Joiner将列表项与“,”字符和
//在列表的开头添加“{”,在列表的末尾添加“}”
StringJoiner strJoin=新的StringJoiner(“,”,“{,“}”);
//下面是Java8中简化的Lambda表达式
//用forEach遍历族列表
//(s) 表示该列表中的每个元素,并
//我们只是在strjoin中添加了这个
family.forEach((s)->strJoin.add(s));
//打印字符串joiner对象
系统输出打印LN(strJoin);
输出:
{母亲、父亲、女儿}
希望上面的解释能帮助您理解代码(如承诺的那样)。这里有一些提示可以帮助您完成尝试
这就是您的代码当前的样子:
String[] family = {" "};
String separator = "";
System.out.print("{ ");
for (String word : family) {
System.out.print(separator);
System.out.print(word);
separator = " ";
}
System.out.print(" }");
}
我假设这是在类
中具有正确签名的main
方法中
系列
声明不正确:
String[] family = {" "};
这不是表示空数组的方式。(它实际上是一个包含一个字符串的数组,由一个空格组成。这可能解释了您的一些困难!!)
Java中的空字符串数组可以声明为:
String[] family = {};
String[] family = new String[0];
String[] family = new String[]{};
”
。应该是逗号。(不完全是……但是试试看。)
{ }
{ ,Mother }
{ ,Mother,Father }
{ ,Mother,Father,Daughter }
有两个问题仍然需要解决
System.out.print(separator);
System.out.print(word);
假设在我们现在打印的单词之前有一个“单词”。但当我们在名单的开头时,情况就不是这样了
提示在列表开头使用一个标志变量,该变量为
true
,并在打印第一个元素后将其更改为false
。(并使用该标志决定是否需要输出分隔符。)到目前为止您尝试了什么?我已将其添加到我的帖子中。非常感谢。非常感谢。它适用于有成员的家庭。但是,对于没有成员的族(empy族),在括号@Zulkarnain中有逗号_Shaikh@Philip-这种方法适用于空列表中的我。您确定您正确地实现了代码吗?获取括号内逗号的唯一方法是使用包含空字符串的列表。你不应该这样代表一个空荡荡的家庭。空的族应该是一个空列表,而不是一个包含空字符串的非空列表。@philip-是的,我也测试了空列表,它在输出中给出了{}。确保不要将任何参数传递给as List。。。您应该使用List family=Arrays.asList();话虽如此。这个答案提供了一些代码,但没有解释它是如何工作的。所以我不认为这真的有助于实现你的真正目标。。。这应该是学习如何为自己编写Java程序。因此,我建议1)您研究此代码的工作方式和原因,2)回到您最初的尝试,自己完成它。。。使用您正在采取的方法。我会写我自己的答案给你一些提示。@philip-我已经编辑了答案来解释代码的每个步骤。。。如果您有任何疑问,我很乐意进一步帮助您。。。非常感谢。