如何实现用户向Java数组输入数值?篮球得分统计多数组需求遇阻
Java数组录入球员得分的解决方案
嘿,我懂你现在卡在让用户输入10名球员得分到数组这一步的困扰了,别慌,我来给你捋清楚正确的实现方法,还会帮你排查常见的错误点~
一、核心实现思路
你需要借助Scanner类来读取用户输入,然后通过for循环遍历数组的每个索引,逐个让用户输入数值并赋值给数组元素,之后再计算两场得分的总和存入第三个数组。
二、完整可运行代码示例
import java.util.Scanner; public class BasketballScores { public static void main(String[] args) { // 初始化三个长度为10的数组,对应10名球员的两场得分及总和 int[] firstGameScores = new int[10]; int[] secondGameScores = new int[10]; int[] totalScores = new int[10]; Scanner scanner = new Scanner(System.in); // 录入第一场比赛得分 System.out.println("请输入10名球员第一场比赛的得分:"); for (int i = 0; i < firstGameScores.length; i++) { System.out.print("第" + (i + 1) + "名球员得分:"); // 读取用户输入的整数,赋值给对应索引的数组元素 firstGameScores[i] = scanner.nextInt(); } // 录入第二场比赛得分 System.out.println("\n请输入10名球员第二场比赛的得分:"); for (int i = 0; i < secondGameScores.length; i++) { System.out.print("第" + (i + 1) + "名球员得分:"); secondGameScores[i] = scanner.nextInt(); } // 计算两场得分的总和,存入第三个数组 for (int i = 0; i < totalScores.length; i++) { totalScores[i] = firstGameScores[i] + secondGameScores[i]; } // 输出结果,验证正确性 System.out.println("\n球员两场比赛总得分汇总:"); for (int i = 0; i < totalScores.length; i++) { System.out.println("第" + (i + 1) + "名球员:" + totalScores[i]); } scanner.close(); // 关闭Scanner,释放资源 } }
三、你可能踩的坑及解决办法
数组越界异常(
ArrayIndexOutOfBoundsException)
这是最常见的问题,比如循环条件写成i <= firstGameScores.length。记住数组的索引是从0开始的,最后一个元素的索引是数组长度-1,所以循环条件必须是i < 数组长度。输入非数值导致的异常(
InputMismatchException)
如果用户不小心输入了字母、符号等非整数内容,nextInt()会直接抛出异常。想要让程序更健壮,可以加个输入校验:// 在读取输入前先判断是否为整数 while (!scanner.hasNextInt()) { System.out.println("请输入有效的整数得分哦!"); scanner.next(); // 清除无效的输入内容 } firstGameScores[i] = scanner.nextInt();空指针异常(
NullPointerException)
比如你只声明了数组int[] firstGameScores;但没有初始化new int[10],这样数组对象还没创建,赋值时就会报错。一定要记得初始化数组的长度。
四、关键代码说明
- 先初始化三个长度为10的
int数组,确保能容纳10名球员的得分数据。 - 用
Scanner的nextInt()方法读取用户输入的整数,保证输入类型和数组元素类型匹配。 - 最后通过循环遍历三个数组的对应索引,计算两场得分的和并存储,再输出结果验证。
内容的提问来源于stack exchange,提问作者ABSTRACT SHNITZEL
相关产品推荐
相关产品推荐

