日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Scanner 中next()和nexline()方法的区别

發(fā)布時間:2025/4/14 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Scanner 中next()和nexline()方法的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在java實現字符窗口的輸入時,很多人更喜歡選擇使用掃描器scanner,它操作起來比較簡單。在編程的過程中,我發(fā)現用scanner實現字符串的輸入有兩種方法,一種是next(),另一種是nextline(),這兩種有以下區(qū)別: 1. next()一定要讀取到有效字符后才可以結束輸入,對輸入有效字符之前遇到的空格鍵、tab鍵或enter鍵等結束符,next()方法會自動將其去掉,只有在輸入有效字符之后,next()方法才將其后輸入的空格鍵、tab鍵或enter鍵等視為分隔符或結束符。 2. ?簡單地說,next()查找并返回來自此掃描器的下一個完整標記。完整標記的前后是與分隔模式匹配的輸入信息,所以next方法不能得到帶空格的字符串。 3. nextline()方法的結束符只是enter鍵,即nextline()方法返回的是enter鍵之前的所有字符,它是可以得到帶空格的字符串的。 下面介紹使用方法的例子: import?port?java.util.scanner; ? public?class?nexttest{??public?static?void?main(string[]?args)?{??string?s1,s2;??scanner?sc=new?scanner(system.in);??system.out.print("請輸入第一個字符串:");??s1=sc.nextline();??system.out.print("請輸入第二個字符串:");??s2=sc.next();??system.out.println("輸入的字符串是:"+s1+"?"+s2);??}?? } ? 運行結果: 請輸入第一個字符串:hello 請輸入第二個字符串:world輸入的字符串是:hello?world把程序改一下: import?port?java.util.scanner; ? public?class?nexttest{??public?static?void?main(string[]?args)?{??string?s1,s2;??scanner?sc=new?scanner(system.in);??system.out.print("請輸入第一個字符串:");??s1=sc.next(); ?system.out.print("請輸入第二個字符串:");??s2=sc.nextline(); ?system.out.println("輸入的字符串是:"+s1+"?"+s2);??}?? } ? 運行結果是: 請輸入第一個字符串:hello 請輸入第二個字符串:輸入的字符串是:hello可以看到,nextline()自動讀取了被next()去掉的enter作為他的結束符,所以沒辦法給s2從鍵盤輸入值。經過驗證,我發(fā)現其他的next的方法,如double nextdouble() , float nextfloat() , int nextint() 等與nextline()連用時都存在這個問題,解決的辦法是:在每一個 next()、nextdouble() 、 nextfloat()、nextint() 等語句之后加一個nextline()語句,將被next()去掉的enter結束符過濾掉。import?port?java.util.scanner; ? public?class?nexttest{??public?static?void?main(string[]?args)?{??string?s1,s2;??scanner?sc=new?scanner(system.in);??system.out.print("請輸入第一個字符串:");??s1=sc.next(); ?sc.nextline(); ?system.out.print("請輸入第二個字符串:");??s2=sc.nextline(); ?system.out.println("輸入的字符串是:"+s1+"?"+s2);??}?? } ?運行結果是: 請輸入第一個字符串:hello 請輸入第二個字符串:world 輸入的字符串是:hello?world

轉載于:https://www.cnblogs.com/zhaoyuan72/p/10932654.html

總結

以上是生活随笔為你收集整理的Scanner 中next()和nexline()方法的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。