用Scanner實(shí)現(xiàn)字符串的輸入有兩種方法,一種是next(),另一種是nextLine(),這兩種有以下區(qū)別:
- next()一定要讀取到有效字符后才可以結(jié)束輸入,對輸入有效字符之前遇到的空格鍵、Tab鍵或Enter鍵等結(jié)束符,next()方法會自動將其去掉,只有在輸入有效字符之后,next()方法才將其后輸入的空格鍵、Tab鍵或Enter鍵等視為分隔符或結(jié)束符。
- next方法不能得到帶空格的字符串。
- nextLine()方法的結(jié)束符只有Enter鍵,即nextLine()方法返回的是Enter鍵之前的所有字符,它是可以得到帶空格的字符串。返回的是一行。
例1:
用Scanner輸入:
第一行:數(shù)字的個(gè)數(shù)
第二行:一串用空格間隔的數(shù)字
將第二行的數(shù)字依次存入數(shù)組arr
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);//
int num=sc.nextInt();//接收第一個(gè)數(shù)字(遇到空格、Tab或者換行符結(jié)束)
int [] arr=new int[num];
for(int i=0;i<num;i++){
arr[i]=sc.nextInt();//依次接收第二行數(shù)字中的單個(gè)數(shù)字(遇到空格、Tab或者換行符結(jié)束)
}
System.out.println(Arrays.toString(arr));
}
}