Java 数组和输入

Java 数组和输入,java,arrays,Java,Arrays,我的作业要求我编写一个程序,让用户输入10名球员的姓名、年龄、位置和平均击球率。然后,该程序应该只检查并显示25岁以下的球员的统计数据,这些球员的平均击球率为.280或更高,然后按年龄顺序显示 System.out.println("Input age: "); age[i] = Integer.parseInt(br.readLine()); 我已经为输入部分编写了代码(它将把它们存储在一个数组中): System.out.println("I

我的作业要求我编写一个程序,让用户输入10名球员的姓名、年龄、位置和平均击球率。然后,该程序应该只检查并显示25岁以下的球员的统计数据,这些球员的平均击球率为.280或更高,然后按年龄顺序显示

        System.out.println("Input age: ");
        age[i] = Integer.parseInt(br.readLine());
我已经为输入部分编写了代码(它将把它们存储在一个数组中):

        System.out.println("Input age: ");
        age[i] = Integer.parseInt(br.readLine());

但是我的第二个输入完全跳过了name部分,跳转到position输入。我真的不明白它为什么这么做!有人能帮我吗?提前谢谢

读取方法只读取输入的单个字符;您输入的行的其余部分仍保留在流中

        System.out.println("Input age: ");
        age[i] = Integer.parseInt(br.readLine());
当下一个循环开始时,
readLine
检测到它已经可以读取该行的其余部分,因此它不需要用户输入。它认为用户输入已经给出

        System.out.println("Input age: ");
        age[i] = Integer.parseInt(br.readLine());

对于输入年龄,使用
readLine
而不是
read
,您可以使用
Double.parseDouble
将生成的
String
输入转换为
Double

方法只读取单个输入字符;您输入的行的其余部分仍保留在流中

        System.out.println("Input age: ");
        age[i] = Integer.parseInt(br.readLine());
当下一个循环开始时,
readLine
检测到它已经可以读取该行的其余部分,因此它不需要用户输入。它认为用户输入已经给出

        System.out.println("Input age: ");
        age[i] = Integer.parseInt(br.readLine());

对于输入年龄,使用
readLine
而不是
read
,您可以使用
Double.parseDouble
将生成的
字符串
输入转换为
Double
,当您在此处阅读年龄时:

System.out.println("Input age: ");
age[i] = br.read();
        System.out.println("Input age: ");
        age[i] = Integer.parseInt(br.readLine());
用户按下的换行符仍然存在。所以,当你回去做

System.out.println("Enter player information.");

System.out.println("Input first and last name: ");
name [i] = br.readLine();
        System.out.println("Input age: ");
        age[i] = Integer.parseInt(br.readLine());

换行符仍在缓冲区中,将在此处读取。

在此处读取时:

System.out.println("Input age: ");
age[i] = br.read();
        System.out.println("Input age: ");
        age[i] = Integer.parseInt(br.readLine());
用户按下的换行符仍然存在。所以,当你回去做

System.out.println("Enter player information.");

System.out.println("Input first and last name: ");
name [i] = br.readLine();
        System.out.println("Input age: ");
        age[i] = Integer.parseInt(br.readLine());
换行符仍在缓冲区中,将在此处读取。

read()一次只读取一个字符。输入年龄后按,会在末尾追加一个新行字符,从而触发名称的.readLine()

        System.out.println("Input age: ");
        age[i] = Integer.parseInt(br.readLine());
read()一次只读取一个字符。输入年龄后按,会在末尾追加一个新行字符,从而触发名称的.readLine()

        System.out.println("Input age: ");
        age[i] = Integer.parseInt(br.readLine());

您应该创建一个
Player
类,而不是创建一组数组。这会让你的生活变得更轻松。你应该创建一个
Player
类,而不是创建一堆数组。这会让你的生活轻松很多。