不带括号和逗号的打印数组

新手上路,请多包涵

我正在将 Hangman 游戏移植到 Android,但遇到了一些问题。原始 Java 程序使用控制台,所以现在我必须以某种方式美化输出,使其适合我的 Android 布局。

如何打印没有括号和逗号的数组?该数组包含斜杠,并在猜出正确的字母时被一个接一个地替换。

我正在使用 ArrayList 类的 .toString() 函数,我的输出格式如下: [ a, n, d, r, o, i, d ] 。我希望它简单地将数组打印为单个 String

我使用这段代码填充数组:

 List<String> publicArray = new ArrayList<>();

for (int i = 0; i < secretWordLength; i++) {
    hiddenArray.add(secretWord.substring(i, i + 1));
    publicArray.add("-");
}

我这样打印:

 TextView currentWordView = (TextView) findViewById(R.id.CurrentWord);
currentWordView.setText(publicArray.toString());

原文由 SQDK 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

基本上,不要使用 ArrayList.toString() - 自己构建字符串。例如:

 StringBuilder builder = new StringBuilder();
for (String value : publicArray) {
    builder.append(value);
}
String text = builder.toString();

(顺便说一句,我个人不会调用变量 publicArray 当它实际上不是数组时。)

原文由 Jon Skeet 发布,翻译遵循 CC BY-SA 2.5 许可协议

用空格替换方括号和逗号。

 String formattedString = myArrayList.toString()
    .replace(",", "")  //remove the commas
    .replace("[", "")  //remove the right bracket
    .replace("]", "")  //remove the left bracket
    .trim();           //remove trailing spaces from partially initialized arrays

原文由 user489041 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题