搜索
您的当前位置:首页正文

Java-从控制台读取用户的输入并存入List中

来源:欧得旅游网

上代码:

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

/**
 * @Classname TypeKeyboard
 * @Description 从键盘输入一连串数字,以空格分隔,按下回车结束,存入数组中并打印
 * @Date 2022/3/31 10:37
 * @Created by jiawen
 */
public class TypeKeyboard {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String inputString = sc.nextLine();//nextLine()检测到用户输入回车则结束;
        String stringArray[] = inputString.split(" ");//split(regex:)方法通过regex形参作为分割符提取String中的数据;
        ArrayList<Integer> list = new ArrayList<>();

        for (int i = 0; i < stringArray.length; i++) {
            list.add(Integer.parseInt(stringArray[i]));
        }
        Iterator<Integer> iterator = list.iterator();
        while (iterator.hasNext()) {
            System.out.print(iterator.next()+" ");
        }
    }
}

Scanner是一个扫描器,录取到键盘的数据,先存到缓存区等待读取(此时还未读取)判断读取结束的标示是  空白符;比如空格,回车,tab 等等。

对于next()方法,将空格看作是两个字符串的间隔,如果发现空格则读取空格前用户的输入作为String返回

对于nextInt()方法,它同样是使用空格作为间隔符,只不过返回int类型的数据。

对于nextLine()方法,它将空格当作字符串处理,当发现用户按下回车则读取回车前所有的数据(包括空格等等)并作为String类型一并返回;

在上述代码中,使用nextLine()方法。首先口头规定用户输入时使用空格间隔,回车结束,随后拿到所有输入作为一个字符串,然后使用split()方法规定这个字符串的分割符号为空格,使用此规则将用户输入依次存入一个String数组,然后遍历数组将数组里的String数据转换为int,并加入list中。

测试:

 

因篇幅问题不能全部显示,请点此查看更多更全内容

Top