用Scanner实现字符串的输入有两种方法,一种是next(),另一种是nextLine(),这两种有以下区别:
- next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。
- next方法不能得到带空格的字符串。
- nextLine()方法的结束符只有Enter键,即nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串。返回的是一行。
例1:
用Scanner输入:
第一行:数字的个数
第二行:一串用空格间隔的数字
将第二行的数字依次存入数组arr
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);//
int num=sc.nextInt();//接收第一个数字(遇到空格、Tab或者换行符结束)
int [] arr=new int[num];
for(int i=0;i<num;i++){
arr[i]=sc.nextInt();//依次接收第二行数字中的单个数字(遇到空格、Tab或者换行符结束)
}
System.out.println(Arrays.toString(arr));
}
}