3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
在Scanner中,有next()與nextLine()兩種方法 next()是以空白或換行為區格,nextLine()則是以換行為區格讀取整行 當一起使用時,會出現遇到nextLine()無法正常運作的問題 如以下程式碼 import java.util.Scanner; public class test { public static void main(String [] argv) { Scanner cin = new Scanner(System.in); String str = cin.next();//輸入123 String str2 = cin.nextLine();//輸入321 //只顯示123 System.out.println(str + " " + str2); } } 會這樣子的原因是因為next()是抓取空白或\n換行字元以前的字串,所以next()抓完字串之後\n就被nextLine()抓住了,因此nextLine()只有抓到\n而已,沒有抓到應該抓的字串。 解決方法就是不斷讓nextLine()重複抓取,直到抓到有字串為止: import java.util.Scanner; public class test { public static void main(String [] argv) { Scanner cin = new Scanner(System.in); String str = cin.next();//輸入123 String str2; //不斷重複抓取,直到抓到字串為止 while( (str2 = cin.nextLine()).equals("") );//輸入321 //只顯示123 System.out.println(str + " " + str2); } } Categories: Java 分類 Android AngularJS Chrome Database MySQL DataStructure Editor Vim Firefox Git Hadoop Language Go Java JavaScript jQuery jQueryChart Node.js Vue PHP Laravel ZendFramework Python Mac Network Cisco DLink Juniper Oauth Server Apache Share Unix FreeBSD Linux WebDesign Bootstrap CSS HTML Wordpress Search 搜尋:

本文由blogjohnsonluorg提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦