输入无法暂缓。。。
程序代码:
import java.io.*;
public class InRead {
/**
* @param args
*/
public static void main(String[] args) throws IOException
{
// TODO Auto-generated method stub
BufferedReader keyin=new BufferedReader(new InputStreamReader(System.in));
String c;
char a;
System.out.print("input a character:\t");
a=(char)System.in.read();
System.out.println("The character you input is:\t"+a);
System.out.println("Type Enter to continue...");
System.in.read();
System.out.print("input a String:");
c=keyin.readLine();
System.out.println("The String you input is:"+c);
}
}
结果却是input a character: e
The character you input is: e
Type Enter to continue...
input a String:The String you input is:
public class InRead {
/**
* @param args
*/
public static void main(String[] args) throws IOException
{
// TODO Auto-generated method stub
BufferedReader keyin=new BufferedReader(new InputStreamReader(System.in));
String c;
char a;
System.out.print("input a character:\t");
a=(char)System.in.read();
System.out.println("The character you input is:\t"+a);
System.out.println("Type Enter to continue...");
System.in.read();
System.out.print("input a String:");
c=keyin.readLine();
System.out.println("The String you input is:"+c);
}
}
结果却是input a character: e
The character you input is: e
Type Enter to continue...
input a String:The String you input is:
我只输入了e,然后回车,还没有输入String呢,就全部跳出来了
----------------解决方案--------------------------------------------------------
貌似需要flush一下、、、、就是keyin.fulsh();
----------------解决方案--------------------------------------------------------
加了System.out.flush()也不行
----------------解决方案--------------------------------------------------------
不是这个flush,是你那个bufferreader keyin要flush
----------------解决方案--------------------------------------------------------
回复 4楼 爱编程的艾
keyin没有flush()这个方法吧。。。 ----------------解决方案--------------------------------------------------------
因为当输入一个字符 按了回车以后,就相当于输入了三个字符(回车为两个字符);
所以说需要再添加一个 System.in.read();才能把缓存的字符读完,
就是说在System.out.println("Type Enter to continue...");
System.in.read();
后再加一个 System.in.read();
就行了。
----------------解决方案--------------------------------------------------------