Re: [問題] 小程式輸入資料獅子大開口
※ 引述《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
03/14 00:03, 1F
討論串 (同標題文章)