Re: [問題] 請問使用貼上的方式輸入多行文字

看板java作者 (-858993460)時間14年前 (2011/05/26 23:43), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《diabloevagto (wi)》之銘言: : scanner利用貼上的方式輸入多行文字 : 要如何才能正確讀入呢? : 我只要一貼上就會直接執行底下的程式 : 而且只有讀到第一行而已 : 請問要如何修改成程式才可以把全部的文字都吃進去 先問你一個問題 你是要到什麼時候才讓程式繼續執行下去? 十行?五十行?一百行? 這樣一想你就知道除非你自己告訴程式我結束了 不然程式永遠無法知道你已經輸入完畢 那麼有一種方式就是折衷 來一行處理一行 其實 Scanner 的行為比較像是來一個東西處理一個東西 只不過如果你是讀 System.in 又是直接鍵盤輸入資料的話 要到你按下 Enter 換行之後 提供資料給 System.in 的底層系統才會說「我這裡有資料了來讀」 因此看起來就像是一次一行 你可以仔細觀察你的程式的執行 你貼上去之後其實不只會只讀到一行 而是貼上了一行輸入 程式跑完之後會繼續貼上第二行 然後開始執行處理第二行輸入 這樣下去 這就是因為上面說的現象 所以不用在這種小事上面擔心了 你的程式還是很好的在運作著的 :) -- 'Oh, Harry, don't you see?' Hermione breathed. 'If she could have done one thing to make absolutely sure that every single person in this school will read your interview, it was banning it!' ---'Harry Potter and the order of the phoenix', P513 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.28.92

05/27 01:55, , 1F
感謝你的講解,大概有一點頭緒了!
05/27 01:55, 1F

05/27 01:59, , 2F
測試用loop一直讀可以,看來只能主動告知輸入結束
05/27 01:59, 2F

05/27 20:28, , 3F
最簡單的方法是用某個關鍵字告訴程式"使用者輸入完了"
05/27 20:28, 3F
文章代碼(AID): #1DtdKrQC (java)
文章代碼(AID): #1DtdKrQC (java)