0

我正在尝试使用 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

我应该多次输入选项以获得结果。关于如何纠正的任何建议?谢谢!

4

2 回答 2

4

每次调用时,您都在读取另一行输入readLine。您已经输入了choose; 没有必要readLine每次有病都打电话。

只需使用

if ((choose.equals("1")) {

对于其他条件也是如此。

于 2013-10-21T18:07:48.177 回答
1
choose = br.readLine();
if(choose.equals("1"))
//....
else if(choose.equals("2"))
//....
//and so on
于 2013-10-21T18:09:29.223 回答