0

这是一个非常简单的代码,我试图在循环中从键盘输入。对于每个输入,无论我输入什么,循环都会自动额外运行两次并取值 13 和 10。你能指出我做错了什么吗?

代码:

public static void main(String args[])
{
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

    boolean loop_cond=true;
    int n=1;

    while(loop_cond==true)
    {
        try
        {
            System.out.print("input : ");

            n=br.read();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }

        System.out.print(n+"\n");

    }
}  // end Main

输出 :

input : 6
54
input : 13
input : 10
input : 9
57
input : 13
input : 10
input : 1
49
input : 13
input : 10
input : 
4

2 回答 2

1

这些可能是 \r\n 值。尝试使用 Scanner 获取值。

 Scanner input = new Scanner(System.in);
 int i = input.nextInt(); 
于 2013-03-21T03:59:38.950 回答
1

改变

n=br.read();

n = Integer.parseInt(br.readLine());

但我建议您使用Scanner类来避免整数转换。

于 2013-03-21T04:08:42.660 回答