我想从控制台输入一些带空格分隔符的整数,按Enter然后将它们读入List。 (最初,我不知道整数的数量,我不想解析字符串)
有可能吗?
答案 0 :(得分:1)
使用while
循环。
public static void main(final String[] args) {
while(true) {
a = scanner.next();
if (a.equals(""))
break;
b = Integer.parseInt(a);
list.add(b);
或:
public static void main(final String[] args) {
while(true) {
try {
a = scanner.nextInt();
list.add(a);
} catch (Exception e) {
break;
}
您可以自己初始化所有内容。只是帮助您的基础:)
试试这个:
import java.util.Scanner;
public class help {
public static void main(final String[] args) {
Scanner scnr = new Scanner(System.in);
while (true) {
if (scnr.hasNextInt() == false)
break;
int a = scnr.nextInt();
System.out.println(a);
}
}}
你必须想办法检测扫描仪中的空行。我现在无法想办法。
答案 1 :(得分:0)
Scanner scan = new Scanner(System.in);
ArrayList<Integer> list = new ArrayList<Integer>();
int a = 0;
a = scan.nextInt();
scan.close();
int count = String.valueOf(a).length();
for(int i = 0; i< count ; i++){
list.add(Integer.parseInt(String.valueOf(a).substring(i, i+1)));
}
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}