Scanner
使用分隔符模式将其输入分解为标记,然后可以使用不同的 next 方法将得到的标记转换为不同类型的值。默认情况下该分隔符模式与空白匹配。即
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
List list = new ArrayList();
System.out.println("使用nextInt()方法,并且输入为:");
for (int i = 0; i < 5; i++) {
list.add(in.nextInt());
}
System.out.print("输出为:");
System.out.println(list);
}
输出如下:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuITO3kDN2czNz0CM3EDNwEDNwIzNwcDM5EDMy0SMwITNycTMvw1NwkTMwIzLcFDMyUjM3EzLcd2bsJ2Lc12bj5ycn9Gbi52YugTMwIzZtl2Lc9CX6MHc0RHaiojIsJye.png)
即当输入数字中间为空格时,默认空格为分割符将数字分割开来
可通过如下两个方法更改分割符:
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
in.useDelimiter(",");
List list = new ArrayList();
System.out.println("使用nextInt()方法,并且输入为:");
for (int i = 0; i < 5; i++) {
list.add(in.nextInt());
}
System.out.print("输出为:");
System.out.println(list);
}
输出为:
此使输入数字之间的分隔符为",",若继续用空格则报错。
nextInt():读取int类型的值,取值后,并不换行
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("输入:");
int num = in.nextInt();
String str = in.nextLine();
System.out.println("输出:");
System.out.println(num);
System.out.println(str);
}
nextInt()读取值后,并没有读取“\n",因此没有换行,nextLine()读取"\n"并换行输出
next():查找扫描器中的下一个标记
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("输入:");
String num = in.next();
String str = in.nextLine();
System.out.println("输出:");
System.out.println(num);
System.out.println(str);
}
与nextInt()类似,不自动换行
nextLine():读取内容并自动换行