【问题标题】:Printing an ArrayList of Integers top to bottom and returning each element as a String从上到下打印整数的 ArrayList 并将每个元素作为字符串返回
【发布时间】:2019-12-07 15:42:00
【问题描述】:

我创建了一个从 ArrayList 打印值的函数,它可以工作,但是,它从左到右打印它们,我希望它们从上到下打印。

我的方法在这里:

ArrayList<Integer> scoresFromRounds = new ArrayList<Integer>();
public String printSortedScoreList()
    {
        sortScoreList();
        String scores = scoresFromRounds.toString();
        return scores;
    }

我环顾四周,这种事情似乎对其他人有用:

for (Object o : exes)
    System.out.println(o);

但是,当我尝试这样做时

for (Integer score : scoresFromRounds)
{

}

我不完全确定在 for each 的正文中应该放什么,因为我需要这个函数返回一个字符串,然后我用它来显示标签中的分数,而标签只接受字符串。

有人知道我如何实现这一目标吗?

谢谢

编辑:

从上到下,我的意思是像

10

20

30

40

50

【问题讨论】:

  • 从左到右是什么意思?从上到下?你的意思是逐行吗?你也可以给我们一些类型吗?我想这是一个 arraylist ?
  • @user43968 是的,一行一行,我在帖子中添加了一个示例,是的,ArrayList&lt;Integer&gt; 也添加了这个
  • 我不明白,要从上到下打印吗?或者你想创建标签?或将整数转换为字符串?

标签: java arraylist foreach


【解决方案1】:

也许这就是你要找的东西

StringBuilder response = new StringBuilder();
String newLine = "\n";
for (Integer integer : scoresFromRounds) {
    response.append(integer);
    response.append(newLine);
}
return respone;

这将从上到下打印结果

【讨论】:

  • @Kappa123 在上述解决方案中,您应该在循环中执行字符串连接时使用 StringBuilder 而不是 + 运算符来连接字符串。
  • 或简称:return String.join("\n", scoresFromRounds);
【解决方案2】:

我不确定,但也许您正在寻找的线路是

System.out.println(Integer.toString(score));

编辑:如果你想把字符串放在别处,那么做:

String x = Integer.toString(score);System.out.println(x);

【讨论】:

    【解决方案3】:

    我建议使用 Java Stream API 版本的解决方案。

    public String print(Collection<Integer> collection) {
        return collection.stream()
                .map(Object::toString) // convert integers to strings
                .collect(Collectors.joining(System.lineSeparator())); // join them
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-29
      • 1970-01-01
      • 2015-12-11
      • 2012-08-29
      • 2011-12-13
      • 2014-08-19
      • 2013-02-27
      • 2014-03-10
      相关资源
      最近更新 更多