Java 分隔整数列表

Java 分隔整数列表,java,string,comma,Java,String,Comma,这是原始提示: 编写一个程序,从用户的命令行获取一个逗号分隔的整数字符串(例如“4,8,16,32,…”),然后将该字符串转换为整数数组列表(使用包装类),每个元素依次包含一个输入整数。最后,使用for循环将整数输出到命令行,每个整数位于单独的行上 import java.util.Scanner; import java.util.ArrayList; public class Parser { public static void main(String[] args) {

这是原始提示:

编写一个程序,从用户的命令行获取一个逗号分隔的整数字符串(例如“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);
        }
    }
}
import java.util.Scanner;
导入java.util.ArrayList;
公共类解析器{
公共静态void main(字符串[]args){
扫描仪scnr=新扫描仪(System.in);
ArrayList myInts=新的ArrayList();
字符串整数=”;
System.out.print(“输入分隔整数列表:”);
整数=scnr.nextLine();
对于(inti=0;i

我能够使它到达接受分隔整数列表的位置,但是我被它的转换部分和for循环卡住了,特别是将每个数字打印到单独的一行。

首先,您可以使用
拆分方法将输入字符串转换为
字符串[]
输入.拆分(,”
)。这将为您提供一个数组,其中的元素是由
“,”
分隔的字符串

然后,要将字符串转换为
整数
包装,可以使用:

  • Integer i=Integer.valueOf(str)
  • Integer i=Integer.parseInt(str)

  • 首先,您可以使用
    split
    方法将输入字符串转换为
    string[]
    input.split(“,”)
    。这将为您提供一个数组,其中的元素是由
    “,”
    分隔的字符串

    然后,要将字符串转换为
    整数
    包装,可以使用:

  • Integer i=Integer.valueOf(str)
  • Integer i=Integer.parseInt(str)

  • myInts为空,数据为整数。

    我建议您搜索函数:split(from String)

    myInts为空,您的数据为整数。

    我建议您搜索fonction:split(from String)

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

    List<Integer> converted = Arrays.stream(integers.split(","))
                                    .map(Integer::valueOf)
                                    .collect(Collectors.toList());
    
    如果您不一定要为
    循环使用
    ,那么即使不存储到临时列表中,也可以通过流更优雅地实现这一点:

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

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

    List<Integer> converted = Arrays.stream(integers.split(","))
                                    .map(Integer::valueOf)
                                    .collect(Collectors.toList());
    
    如果您不一定要为
    循环使用
    ,那么即使不存储到临时列表中,也可以通过流更优雅地实现这一点:

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

    使用
    Integer.parseInt()
    String
    转换为
    Integer
    …对字符串使用拆分方法,并通过将解析的整数(Integer.parseInt(value))添加到整数数组列表中的结果进行循环。您正在打印整个列表。你应该迭代每个元素,并在循环中打印每个元素。你的
    myInts.size()
    是0,因为在你放入某个元素之前,列表是空的。我仍然很困惑在我的代码中添加什么?有没有什么方法可以让人弄清楚事情的发展方向?使用
    Integer.parseInt()
    String
    转换为
    Integer
    …对字符串使用split方法,并循环通过结果将解析的整数(Integer.parseInt(value))添加到整数数组列表中。您正在打印整个列表。你应该迭代每个元素,并在循环中打印每个元素。你的
    myInts.size()
    是0,因为在你放入某个元素之前,列表是空的。我仍然很困惑在我的代码中添加什么?有没有办法让人弄清楚事情的发展方向?