如何摆脱java中arraylist中的逗号和括号?

时间:2017-12-12 15:09:21

标签: java arrays string arraylist

我正在试图找出如何让某人输入字符串,然后打印出来,只用一个空格分隔Java中的每个字符串。如果你也可以帮我弄清楚如何摆脱它的输出中的“结束”也会有所帮助。这是我到目前为止的代码

            Scanner s = new Scanner (System.in);

            System.out.println("Enter the values for the first array, up to 10000 values, enter 'End' to quit");

            ArrayList<String> firstString = new ArrayList<String>();

            for(int i = 0; i <= 9999; i++)
            {
                firstString.replaceAll(String::toLowerCase);

                if(firstString.contains("end"))
                {
                    Collections.sort(firstString);

                    break;
                }
                else
                firstString.add(s.nextLine());
            }

            String firstStringOut = firstString.toString();

            firstStringOut.replace(",", "");

            System.out.println(firstStringOut);
    }
}

1 个答案:

答案 0 :(得分:0)

用以下代码替换最后3行代码:

    StringBuilder sb = new StringBuilder();
    for (String str : firstString) {
        if (!str.equalsIgnoreCase("end")) {
            sb.append(str);
            sb.append(" ");
        } else {
            sb.deleteCharAt(sb.lastIndexOf(" "));
        }
    }
    System.out.println(sb.toString());

它将构建一系列您添加到列表中的所有内容,并在打印时显示每个以空格分隔的值(也忽略“结束”)。

或者你只是链接替换或创建一个正确的正则表达式:

firstStringOut = firstStringOut.replace(",", "").replace("[", "").replace("]", "").replace("end", "");
firstStringOut = firstStringOut.replaceAll(",|\\[|\\]|end", "");

所有方法都运行良好,但第一种方法最好使用IMO。