我只是为了练习而尝试使用bufferedReader,所以每次我在控制台中按enter键时,它都会给我正确的答案,但不是在一次enter键之后,我会多次按enter键才能得到结果。
我的BufferedReader代码如下:
InputStreamReader irs = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String choose = br.readLine();我对BufferedReader的if语句:
if ((choose = br.readLine()).equals("1)) {
System.out.println("You chose: " + option1);
} else if ((choose = br.readLine()).equals("2")) {
System.out.println("You chose: " + option2);
} else if ((choose = br.readLine()).equals("3")) {
System.out.println("You chose: " + option3);
}来自控制台的结果:
your choice:
1
1
You chose: Dog我应该多次输入选项才能得到结果。对如何纠正这个问题有什么建议吗?谢谢!
发布于 2013-10-22 02:07:48
每次调用readLine时,都会读取另一行输入。在choose中已经有了输入;没有必要在每次有条件时都调用readLine。
只需使用
if ((choose.equals("1")) {对于其他条件也是如此。
发布于 2013-10-22 02:09:29
choose = br.readLine();
if(choose.equals("1"))
//....
else if(choose.equals("2"))
//....
//and so onhttps://stackoverflow.com/questions/19501596
复制相似问题