Re: [問題] 小程式輸入資料獅子大開口

看板java作者 (-858993460)時間13年前 (2011/03/09 07:59), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/4 (看更多)
※ 引述《tomoyaken14 (黑輪)》之銘言: : ※ 引述《chmod (chmod)》之銘言: : : import java.util.Scanner; : : public class test { : : public static void main( String[] args ) { : : Scanner keyboard = new Scanner( System.in ); : : int num = keyboard.nextInt(); : : System.out.println( num ); : : String word = keyboard.nextLine(); : : System.out.println( word ); : : } : : } : : 執行環境是 Linux : : 不過程式居然要我把兩個資料一次都給他 : : 然後再一次都印出來 : : 而不是一進一出一進一出 : : 請問如何讓這個程式變成一進一出??? : 再建一個Scanner物件 : import java.util.*; : public class test{ : public static void main(String[] args){ : Scanner keyboard = new Scanner( System.in ); : Scanner keyin=new Scanner(System.in); : int num = keyin.nextInt(); : System.out.println( num ); : String word = keyboard.nextLine(); : System.out.println( word ); : } : } 啊?另外再建一個物件? 用兩個物件去讀同一個 stream 不會出事嗎? (例如物件內部狀態的問題等等) 而且就我實驗的結果 (我的程式除了變數/物件名字不同外其他都和原 PO 一樣) 在 Windows (Vista SP1, java 1.6.0_07) 和工作站 (Linux 2.6.37 64bit, java 1.6.0_24) 都相同 nextLine 吃到了數字輸入之後的那個 Enter 所以輸出了一個空行.... 這個的正確解法是在讀完數字後先用一次 .nextLine() 讀掉那個 Enter 再一次 .nextLine() 再讀到下一行.... -- ˊ_▂▃▄▂_ˋ. ◣          ▅▅ ▅▅ ι●╮   ./◤_▂▃▄▂_◥ \'▊   HARUHI █████ <■┘   ◤◤◥█◥◥█Δ   ISM    By-gamejye ¢|\   ▌▌ζ(▏●‵◥′●)Ψ ▏           █    ⊿Δ    /|▋ |\ ▎         ハルヒ主義      ▄█ ◥◥|◣ ‵′ ◢/'◢◢S.O.S 世界をいに盛り上げるための宮ハルヒの    -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.230.62

03/14 00:03, , 1F
好妙阿~原來這樣也可以XD
03/14 00:03, 1F
文章代碼(AID): #1DTiBk_y (java)
討論串 (同標題文章)
文章代碼(AID): #1DTiBk_y (java)