Java 如何创建由用户填充的对象数组并查看数组元素?

Java 如何创建由用户填充的对象数组并查看数组元素?,java,arrays,Java,Arrays,我创建了一个方法来创建将由用户填充的对象数组,并创建了另一个方法来显示填充的数组。我在查看阵列时遇到问题,无法找出问题所在 public void addPlayer() { for (int i = 0; i < 11; i++) { System.out.println("player " + (i + 1)); System.out.println("Name:"); String name = scan.next();

我创建了一个方法来创建将由用户填充的对象数组,并创建了另一个方法来显示填充的数组。我在查看阵列时遇到问题,无法找出问题所在

public void addPlayer() {
    for (int i = 0; i < 11; i++) {
        System.out.println("player  " + (i + 1));
        System.out.println("Name:");
        String name = scan.next();
        System.out.println("Sweater number:");
        int sNr = scan.nextInt();
        System.out.println("Card (red,null,yellow)");
        String card = scan.next();
        players[i]=new Player(name,sNr,card);
    }
}
public void addPlayer(){
对于(int i=0;i<11;i++){
System.out.println(“播放器”+(i+1));
System.out.println(“名称:”);
字符串名称=scan.next();
System.out.println(“毛衣编号:”);
int sNr=scan.nextInt();
System.out.println(“卡(红色、空、黄色)”;
String card=scan.next();
玩家[i]=新玩家(姓名、信噪比、卡片);
}
}

您还可以使用单独的播放器pojo类和setter、getter来设置和获取数据

package com.testapp.main;

    import java.util.Scanner;

    public class Player {
        private String name;
        private int sNr;
        private String card;

        public Player() {

        }

        public Player(String name, int sNr, String card) {
            this.name = name;
            this.sNr = sNr;
            this.card = card;
        }


        @Override
        public String toString() {
            return "Player [name=" + name + ", sNr=" + sNr + ", card=" + card + "]";
        }

        public void addPlayer() {
            Scanner scan = new Scanner(System.in);
            Player players[] = new Player[10];
            for (int i = 0; i < 11; i++) {
                System.out.println("player  " + (i + 1));
                System.out.println("Name:");
                name = scan.next();
                System.out.println("Sweater number:");
                sNr = scan.nextInt();
                System.out.println("Card (red,null,yellow)");
                card = scan.next();
                players[i] = new Player(name, sNr, card);
                System.out.println(players[i]);
            }
        }

        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Player p = new Player();
            p.addPlayer();
        }

    }
package com.testapp.main;
导入java.util.Scanner;
公开课选手{
私有字符串名称;
私人信噪比;
私人串卡;
公共玩家(){
}
公共播放器(字符串名称、整数信噪比、字符串卡){
this.name=名称;
这是sNr=sNr;
这张卡=卡片;
}
@凌驾
公共字符串toString(){
返回“Player[name=“+name+”,sNr=“+sNr+”,card=“+card+””;
}
public void addPlayer(){
扫描仪扫描=新扫描仪(System.in);
玩家[]=新玩家[10];
对于(int i=0;i<11;i++){
System.out.println(“播放器”+(i+1));
System.out.println(“名称:”);
name=scan.next();
System.out.println(“毛衣编号:”);
sNr=扫描.nextInt();
System.out.println(“卡(红色、空、黄色)”;
card=scan.next();
玩家[i]=新玩家(姓名、信噪比、卡片);
System.out.println(players[i]);
}
}
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
玩家p=新玩家();
p、 addPlayer();
}
}

查看阵列时的“问题”是什么?有什么问题吗?如果你说明你的问题是什么,这会很有帮助。一旦用户填写了数组,我在查看数组时就会出现错误。当我在菜单中单击查看数组时,我创建了一条错误消息,显示“线程中的异常”main“java.lang.NullPointerException”,并指向行“players[i]=new Player(name,sNr,card);“我刚刚尝试了您的建议,但查看数组的问题仍然存在。本练习要求创建三个类。班级球员、班级团队和团队测试。我不知道这个问题是否与三个班级之间的关系有关。