这是原始提示:
我需要编写一个程序,在命令行中从用户获取逗号分隔的整数字符串(例如“4,8,16,32,...”),然后将String转换为整数的ArrayList(使用包装器类)每个元素按顺序包含一个输入整数。最后,使用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);
}
System.out.println(integers);
}
}
我对这个程序的其余部分感到困惑。如果有人可以帮我向我解释我需要做什么,那将非常感激!
答案 0 :(得分:1)
正如Matthew和Marc指出的那样,你必须首先将字符串拆分为标记,然后解析每个标记以将它们转换为整数。
你可以尝试这样的事情:
String stringOfInts = "1,2,3,4,5";
List<Integer> integers = new ArrayList<>();
String[] splittedStringOfInts = stringOfInts.split(",");
for(String strInt : splittedStringOfInts) {
integers.add(Integer.parseInt(strInt));
}
// do something with integers
在split()方法中,您可以定义如何将字符串拆分为标记。在你的情况下,它只是逗号(,)符号。
希望这有帮助。
关心帕特里克