1. 程式人生 > >java中next()與nextLine()的區別

java中next()與nextLine()的區別

  next():一定要讀取到有效字元後才可以結束輸入,對輸入有效字元之前遇到的空格鍵、Tab鍵或Enter鍵等結束符,next()方法會自動將其去掉,只有在輸入有效字元之後,next()方法才將其後輸入的空格鍵、Tab鍵或Enter鍵等視為分隔符或結束符,所以next()方法不能得到帶空格的字串;

在以下程式碼中輸入為:abc 123efd  &@com

import java.util.Scanner;

public class Practice{

	public static void main(String[] args) {
         Scanner input = new Scanner(System.in);
         System.out.print("請輸入字串:");
         String sc = input.next();
         System.out.println("字串輸出為:" + sc);
         }
}

輸出為:

請輸入字串:abc 123efd  &@com
字串輸出為:abc

nextLine():結束符是Enter鍵,它返回的是Enter鍵之前的所有字元,是可以得到帶空格的字串的。

在以下程式碼中輸入為:abc 123efd  &@com

import java.util.Scanner;

public class Practice {

	public static void main(String[] args) {
         Scanner input = new Scanner(System.in);
         System.out.print("請輸入字串:");
         String cc = input.nextLine();         
         System.out.println("字串輸出為:" + cc); 
     }
}

輸出為:

請字串:abc 123efd  &@com
字串輸出為:abc 123efd  &@com

可見nextLine()方法輸出了帶有空格的字串,而next()方法遇到空格符就認為字串輸入結束了。