首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BufferedReader读取线

BufferedReader读取线
EN

Stack Overflow用户
提问于 2013-10-22 02:05:46
回答 2查看 817关注 0票数 0

我只是为了练习而尝试使用bufferedReader,所以每次我在控制台中按enter键时,它都会给我正确的答案,但不是在一次enter键之后,我会多次按enter键才能得到结果。

我的BufferedReader代码如下:

代码语言:javascript
复制
InputStreamReader irs = new InputStreamReader(System.in);
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String choose = br.readLine();

我对BufferedReader的if语句:

代码语言:javascript
复制
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);
        }

来自控制台的结果:

代码语言:javascript
复制
your choice: 

1

1

You chose: Dog

我应该多次输入选项才能得到结果。对如何纠正这个问题有什么建议吗?谢谢!

EN

回答 2

Stack Overflow用户

发布于 2013-10-22 02:07:48

每次调用readLine时,都会读取另一行输入。在choose中已经有了输入;没有必要在每次有条件时都调用readLine

只需使用

代码语言:javascript
复制
if ((choose.equals("1")) {

对于其他条件也是如此。

票数 4
EN

Stack Overflow用户

发布于 2013-10-22 02:09:29

代码语言:javascript
复制
choose = br.readLine();
if(choose.equals("1"))
//....
else if(choose.equals("2"))
//....
//and so on
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19501596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档