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明白了吧。前...