日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2025/4/14 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Scanner 中next()和nexline()方法的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在java實現字符窗口的輸入時,很多人更喜歡選擇使用掃描器scanner,它操作起來比較簡單。在編程的過程中,我發現用scanner實現字符串的輸入有兩種方法,一種是next(),另一種是nextline(),這兩種有以下區別: 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從鍵盤輸入值。經過驗證,我發現其他的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()方法的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

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