java - 在一行上打印多行 int 值作为分隔字符串
问题描述
我能够每行打印一个整数。例如:
1
2
3
尝试将它们放入列表并以逗号分隔的字符串输出时遇到错误。例如,我想:
1,2,3
我遇到“无法尊重 int”或“找不到符号(收集器)”错误。
我的错误在这个块中:
//System.out.println(value); // correctly prints each number on separate line
// errors
ArrayList<Integer> myList = new ArrayList<>();
List<String> list = Arrays.asList(value.toString());
String result = myList.stream().collect(Collectors.joining(","));
完整代码是:
import java.util.*;
public class Test{
public static void main(String args[]){
System.out.print("How many numbers: ");
Scanner input = new Scanner(System.in);
int size = input.nextInt();
ArrayList<Integer> values = new ArrayList<>();
for(int count = 0; count < size; count++){
System.out.print("Enter value "+(count+1)+": ");
int temp = input.nextInt();
values.add(temp);
}
for(int value : values){
//System.out.println(value); // correctly prints each number on separate line
// errors
ArrayList<Integer> myList = new ArrayList<>();
List<String> list = Arrays.asList(value.toString());
String result = myList.stream().collect(Collectors.joining(","));
}
}
}
我使用这些帖子作为参考,但无法获得所需的输出。
将整数列表转换为逗号分隔的字符串?
int 的错误不能被取消引用?
解决方案
您需要将整数映射到字符串:
List<Integer> list = List.of(1,2,3,4);
String s = list.stream()
.map(i->Integer.toString(i)) //<- covert to string
.collect(Collectors.joining(","));
System.out.println(s);
输出:
1,2,3,4
推荐阅读
- c# - 作为 List 属性的 XML 数组反序列化失败
- firebase - 没有为该类定义方法“allowInterop”...尝试使用 Firestore 时出现 Dart 控制台应用程序错误
- javascript - 如何在 DOM 元素中查找所有文本及其父级
- windows - compileKotlin 警告:带有目录目标的“-d”选项被忽略,因为指定了“-Xbuild-file”
- python - 如何使用 pyntcloud 库将点云转换为网格
- exception - 何时抛出异常
- javascript - 状态无法访问道具
- r - 如何更改 survminer 风险表中的默认标题“风险数量”
- solr - 如何在 solr 中使用随机排序提升字段
- heroku - 在本地主机中单击时 Heroku 不会让 Bootstrap 折叠菜单打开