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);“我刚刚尝试了您的建议,但查看数组的问题仍然存在。本练习要求创建三个类。班级球员、班级团队和团队测试。我不知道这个问题是否与三个班级之间的关系有关。