java - 如何打印用大括号分隔的数组列表逗号?
问题描述
如何在Java中打印用大括号分隔的字符串列表?例如,一个包含三个成员“Mother”、“Father”和“Daughter”的家庭应该打印为
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(" }");
谢谢!
解决方案
(如承诺的那样)这里有一些提示可以帮助您完成尝试...
这是您的代码当前的样子:
String[] family = {" "};
String separator = "";
System.out.print("{ ");
for (String word : family) {
System.out.print(separator);
System.out.print(word);
separator = " ";
}
System.out.print(" }");
}
我假设那是在一个main
具有正确签名的方法内,该签名在class
.
family
声明不正确: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
在打印第一个元素后将其更改为。(并使用标志来决定是否需要输出分隔符。)
推荐阅读
- swift - 如何获取自定义单元格类的样式,以编程方式实例化自定义单元格
- python - 色调饱和度值 (HSV) 颜色图轮 matplotlib
- python - 如何修复:列表索引必须是整数,而不是 str - 在查询 json 数据时
- java - 处理中的 keyPressed 问题
- jboss - 反向代理后面的keycloak重定向
- android - 侦听器始终为空
- swiftui - 在 SwiftUI 中更改 SF Symbol 图标的笔触/填充颜色?
- javascript - POST 请求在 Postman 中有效,但在 js 代码中给出错误请求
- javascript - 当所有按钮都由 php 生成时,我需要一种方法来识别正在按下哪个按钮
- python - 我如何通过更具程序化的方式在聚合组中制作这些切片?