1. 程式人生 > >Java sanner類中next和nextLine的區別

Java sanner類中next和nextLine的區別

浮點 驗證 courier 判斷 回車 nbsp () oid 輸入

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的區別