使用变量在java中设置对象数组

时间:2013-08-07 10:10:11

标签: java arrays object

当我设置一个对象数组时,如:

Player[] player = new Player[amountOfPlayers];

我用:

amountOfPlayers = br.read();

获取变量amountOfPlayers。每当我运行我的程序时,我会在被要求设置amountOfPlayers时键入3,但我的输出显示有51个玩家。

虽然我将新的Player数组设置为:new Player[3];它有效。

任何人都知道为什么会这样?

3 个答案:

答案 0 :(得分:8)

问题是您阅读char并将其解释为整数。字符3具有ASCII代码51

根据Prasad的建议,使用Scanner而非BufferedReader阅读输入可能更容易。

答案 1 :(得分:3)

用此来读取输入而不是BufferedReader     Scanner in = new Scanner(System.in);     amountOfPlayers = in.nextInt();

这可能是因为br.read()读取了51 3的字符值。

使用in.nextInt()将确保将其转换为int。

答案 2 :(得分:1)

试试这个,

Integer.parseInt(bufferedReader.readLine());