java中next()與nextLine()的區別
阿新 • • 發佈:2018-12-14
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()方法遇到空格符就認為字串輸入結束了。