看板 java 關於我們 聯絡資訊
※ 引述《onejiko (己摳)》之銘言: : 我想問當我一開始輸入3 : 再輸入三串數列都可以正常OUTPUT : 1 2 3 4 5 6 : 2 3 4 5 6 1 : 3 4 5 6 1 2 : 但如果我是用複製貼上那三行數列的話 : 它卻不能完全抓取到三串數列這是怎麼回事? 你的問題應該簡化為「複製貼上無法取得三個『字串』」 也就是說 : int i; : int num; : String str1; : System.out.println("請輸入n"); : Scanner c = new Scanner(System.in); : num = c.nextInt(); (上面都是雜訊,直接 int num = 3; 來測你的程式不是更快樂) : String array[][] = new String[num][6]; : for(int x=0;x<num;x++){ : System.out.println(x); : Scanner scanner = new Scanner(System.in); : str1 = scanner.nextLine(); 你在這邊 System.out.println(str1); 就會覺得怪怪的了 連 str1 都不對了,後頭還能期望什麼 T__T : String str2[]=str1.split(" "); : i=0; : for(int y=0 ; y<6 ; y++ ){ : array[x][y] = str2[i]; : i++; : } : } 也就是說,你的「真正」的問題,其實可以簡化成 下面的程式碼,為什麼直接複製貼上 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 結果會跟每次一行一行手動輸入不一樣 int num = 3; //TODO 改成 System.in 輸入 for (int x = 0; x < num; x++) { Scanner scanner = new Scanner(System.in); System.out.println(scanner.nextLine()); } 加上良好的縮排,理論上你就不會害到 cyclone350 Orz → cyclone350:is it? http://ppt.cc/wJSc 基本上 cyclone350 的回答... 我個人認為非常詭異 ==" 因為如果複製貼上到 Notepad 之類的 editor / textarea 他還是會換行,不是嗎? 那表示當你複製的時候,一定有幫你補換行符號 不然 editor / textarea 怎麼知道要換行 Orz 再加上 Scanner.nextList() 的程式碼 String result = findWithinHorizon(linePattern, 0); 回頭追一下 linePattern 怎麼來的 基本上是這個 pattern "\r\n|[\n\r\u2028\u2029\u0085]" \r 跟 \n(那三個 \u 不確定是啥字 XD)都有進去了 所以說... 這不科學! [蓋章] 結果就是,你的 Scanner 宣告放錯地方了 至於為什麼,我想你要自己找出答案 [指] 最後,我覺得一切循其本 能從 source code 或是標準文件作為 reference 是比較好的 我昨天才遇到一個五年前沒問題、官方文件也這樣教 結果三年前的 source code 就告訴你「強烈建議不要這樣作」的哏 [淚目] ==== 麻煩 cyclone350 繳交 500 字檢討報告,不然就讓你上版標! [完全誤] -- 錢鍾書: 說出來的話 http://www.psmonkey.org 比不上不說出來的話 Java 版 cookcomic 版 只影射著說不出來的話 and more...... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.61.165.57 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1399596507.A.277.html
danny8376:又是這種吃buffer的問題啊www 05/09 09:57
PsMonkey:吃 buffer??? 不懂 @_@ 05/09 10:02
pcyu16:板主好邪惡 (指板標) 05/09 10:17
swpoker:buffer有分399還是799的嗎 05/09 11:26
PsMonkey:我只知道 buffet 有分,我還真不知道 buffer 也有分 Orz 05/09 11:56
cyclone350:天啊 ~ 我根據他的問題google關鍵字。當初也覺得有點 05/09 18:53
cyclone350:怪怪的,所以加個問號代表沒有查證且不確定 QQ。 05/09 18:56
tails32100:\u是UTF8編碼轉ASCII編碼的樣子 http://ppt.cc/PQVz 05/09 21:38
//修正 typo,nextList() → nextLine() ※ 編輯: PsMonkey (114.43.104.99), 05/10/2014 08:13:15