next 和nextLine 的區別

2021-08-07 12:12:05 字數 1287 閱讀 4179

next()

一定要讀取到有效字元後才可以結束輸入,對輸入有效字元之前遇到的空格鍵、tab鍵或enter鍵等結束符,next()方法會自動將其去掉,只有在輸入有效字元之後,next()方法才將其後輸入的空格鍵、tab鍵或enter鍵等視為分隔符或結束符。簡單地說,next()查詢並返回來自此掃瞄器的

下乙個完整標記

。完整標記的前後是與分隔模式匹配的輸入資訊,所以next方法不能得到帶空格的字串。

nextline()

方法的結束符只是enter鍵,即nextline()方法返回的是enter鍵之前的所有字元,它是可以得到帶空格的字串的。

如下是測試:

scanner scanner = new scanner(system.in);

string next1 = scanner.next();

system.out.println(next1);

在控制台輸入 :123(空格空格)456   按回車這個時候會列印出123然而456沒有列印(不知道原因的看上面的解釋);

繼續測試,忘記上面的**,重新寫**:

scanner scanner = new scanner(system.in);

string next1 = scanner.next();

system.out.println(next1);

string next2 = scanner.next();

system.out.println(next2);

在控制台輸入 123空格456  按回車這個時候會列印出    123回車456  也就是說next1=123   next2=456 而且第二行開頭不會出現空格,也就是說next掃瞄的下乙個標記,

繼續測試,忘記上面的**,重新寫**:

scanner scanner = new scanner(system.in);

string next1 = scanner.next();

system.out.println(next1);

string next2 = scanner.nextline();

system.out.println(next2);

在控制台輸入 123空格456  按回車這個時候會列印出    123回車空格456  也就是說next1=123   next2=空格456 而且第二行開頭會出現空格,也就是說nextline()掃瞄的當前的乙個標記,

java中nextLine 和next 的區別

next 過濾掉第乙個有效字元之前的空白字元,開始讀取,到遇到空白字元停止,空白字元指的是空格鍵 tab鍵或enter鍵 而nextline 的結束字元 只是enter鍵,nextline 不會過濾掉之前的空白字元 nextline不過濾之前的空白字元,輸入數字後程式會直接結束 int s sc.n...

next 和nextLine的詳解

關於next 和nextline 方法的簡述 返回迭代的下乙個元素。next 返回輸入的字元 1 一定要讀取到有效字元後才可以結束輸入。2 對輸入有效字元之前遇到的空白,next 方法會自動將其去掉。3 只有輸入有效字元後才將其後面輸入的空白作為分隔符或者結束符。4 next 不能得到帶有空格的字串...

next 與nextLine 的區別

1 abc def ghij 2kl mno pqr st 3uvw xyz 4你用next 第一次取的是abc,第二次取的是def,第三次取的是ghij 5你用nextline 第一次取的是abc def ghij,第二次取的是kl mno pqr st,第三次取的是uvw xyz 6明白了吧。前...