作者LPH66 (-858993460)
看板java
标题Re: [问题] 小程式输入资料狮子大开口
时间Wed Mar 9 07:59:40 2011
※ 引述《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
1F:推 GinnyVila:好妙阿~原来这样也可以XD 03/14 00:03