gpt4 book ai didi

java - 分隔的整数列表

转载 作者:行者123 更新时间:2023-11-29 07:35:42 25 4
gpt4 key购买 nike

这是原始提示:

编写程序,在命令行从用户处获取逗号分隔的整数字符串(例如“4,8,16,32,...”),然后将字符串转换为整数数组列表(使用包装类) 每个元素包含一个输入整数序列。最后,使用 for 循环将整数输出到命令行,每个都在单独的行上。

import java.util.Scanner;
import java.util.ArrayList;

public class Parser {


public static void main(String[] args) {

Scanner scnr = new Scanner(System.in);

ArrayList<String> myInts = new ArrayList<String>();
String integers = "";

System.out.print("Enter a list of delimited integers: ");
integers = scnr.nextLine();

for (int i = 0; i < myInts.size(); i++) {
integers = myInts.get(i);
myInts.add(integers);
System.out.println(myInts);
}
}
}

我能够将它带到它接受分隔整数列表的位置,但我被困在它的转换部分和 for 循环上,特别是将每个数字打印到单独的行。

最佳答案

转换此字符串的最简单方法是根据逗号将其拆分并将 Integer.valueOf 应用于每个元素:

List<Integer> converted = Arrays.stream(integers.split(","))
.map(Integer::valueOf)
.collect(Collectors.toList());

打印它们,假设您必须使用for 循环,就意味着遍历它们并单独打印每个:

for (Integer i : converted) {
System.out.println(i);
}

如果你不是绝对必须使用 for 循环,这也可以用流更优雅地完成,甚至不需要存储到临时列表:

Arrays.stream(integers.split(","))
.map(Integer::valueOf)
.forEach(System.out::println);

关于java - 分隔的整数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36161343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com