java - 如何将一串数字、空格和逗号更改为整数数组列表
问题描述
我想弄清楚如何获取一串数字、空格和逗号,并将其转换为整数数组列表。
例如,输入是 1, 2, 3, 4, 11, 23,输出将是一个包含相同数字但以整数形式而不是字符串形式的数组列表。
我已经尝试了一些代码来删除空格和逗号,然后将数字添加到数组列表中,但我似乎无法让我的 if 语句工作。随意更改输入的性质或类似的任何内容,它非常灵活。如果有帮助,这是我现在拥有的重要一点;
numCheck = Kd.nextLine();
for(int i = 1; i < numCheck.length(); i++) {
if(String.valueOf(numCheck.charAt(1)) == " ") {
num = numCheck.charAt(0);
System.out.println(num+"a");
nums.add(num);
break;
}
else if((String.valueOf(numCheck.charAt(i-1))) == " "){//1 2 34
num = numCheck.charAt(i);
System.out.println(num + "b");
nums.add(num);
i+=1;
}
else if(String.valueOf(numCheck.charAt(i-1)) != " ")
{
numsTogether = numCheck.charAt(i-1) + "" + numCheck.charAt(i);
System.out.println(numsTogether + "c");
nums.add(Integer.parseInt(numsTogether));
i++;
}
任何帮助表示赞赏,谢谢。
解决方案
我会用可选的空格包围的逗号分割,流式传输,将每个标记映射到一个int
,然后将它收集到一个List
. 像,
String numCheck = "1, 2, 3, 4, 11, 23";
List<Integer> al = Arrays.stream(numCheck.split("\\s*,\\s*"))
.mapToInt(Integer::parseInt).boxed()
.collect(Collectors.toList());
System.out.println(al);
推荐阅读
- r - 在 R 中解释奇怪的 Bland-Altman 情节
- python - 如何使用另一个脚本在不同目录中执行一个 python 脚本?
- javascript - 不考虑整个 dom 的 querySelector
- architecture - 干净的独立架构
- node.js - CORS 502 网关错误,AWS Elastic Beanstalk Node.js 服务器,尽管 CORS 配置正确
- amazon-web-services - AWS 混合云负载平衡流量
- angular - 如何以编程方式触发 Angular MatListItem 的涟漪效应?
- c# - 如何在针对具有自定义属性的所有源成员进行映射期间调用扩展方法?
- c - 试图制作一个对数组中的所有值进行平方的函数。在最后一个值上获取奇怪的数字
- babeljs - Babel:根编程选项