You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java从用户输入创建数组遇问题:playerJersey与playerRating赋值错误

问题分析与修复方案

核心错误点

  • 循环条件完全错误:你前两个赋值循环的终止条件用了i < playerJersey[i]和i < playerRating[i],但Java里刚创建的int数组所有元素默认是0。当i=0时,0 < 0不成立,循环直接跳过,两个数组根本没被赋值,全程都是默认的0。
  • 输入输出逻辑颠倒:第三个循环里,你先打印了数组的默认值,再提示输入,这完全搞反了流程——应该先提示用户输入信息,读取后存入数组,最后再输出展示结果。

修正后的代码

import java.util.Scanner;

public class PlayerRoster {
    public static void main(String[] args) {
        Scanner scnr = new Scanner(System.in);
        final int MAX_PLAYERS = 5;
        int[] playerJersey = new int[MAX_PLAYERS];
        int[] playerRating = new int[MAX_PLAYERS];
        
        // 读取用户输入并存入数组
        for (int i = 0; i < MAX_PLAYERS; ++i) {
            System.out.println("Enter player " + (i + 1) + "'s jersey number:");
            playerJersey[i] = scnr.nextInt();
            
            System.out.println("Enter player " + (i + 1) + "'s rating:");
            playerRating[i] = scnr.nextInt();
        }
        
        // 输出所有球员的球衣号与对应评分
        System.out.println("\nPlayer Roster:");
        for (int i = 0; i < MAX_PLAYERS; ++i) {
            System.out.println("Player " + (i + 1) + ": Jersey Number " + playerJersey[i] + ", Rating " + playerRating[i]);
        }
    }
}

内容的提问来源于stack exchange,提问作者Brian Miller

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 20:36:17