Java sanner類中next和nextLine的區別
next() 與 nextLine() 區別
next():
1、一定要讀取到有效字符後才可以結束輸入。
2、對輸入有效字符之前遇到的空白,next() 方法會自動將其去掉。
3、只有輸入有效字符後才將其後面輸入的空白作為分隔符或者結束符。
next() 不能得到帶有空格的字符串。
nextLine():
1、以Enter為結束符,也就是說 nextLine()方法返回的是輸入回車之前的所有字符。
2、可以獲得空白。
示例代碼:
import java.util.Scanner;
public class ScannerText {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);//從鍵盤接收數據
int i=0;//定義一個整型變量
float f=0.0f;//定義一個浮點型變量
System.out.println("輸入整數:");
if(scan.hasNextInt()){ //判斷輸入的是否是整數
i=scan.nextInt();//接收整數
System.out.println("整數數據:"+i);
}
else{
//輸入錯誤的信息
System.out.println("輸入的不是整數!"
}
//輸入小數
System.out.println("輸入小數:");
if(scan.hasNextFloat()){//判斷輸入的是否是小數
f=scan.nextFloat();//接收小數
System.out.println("小數數據是:"+f);
}
else{
System.out.println("輸入的不是小數!");
}
}
}
如果要輸入 int 或 float 類型的數據,在 Scanner 類中也有支持,但是在輸入之前最好先使用 hasNextXxx() 方法進行驗證,再使用 nextXxx() 來讀取,
Java sanner類中next和nextLine的區別