Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将参数传递给另一个类中的数组?_Java_Arrays_Oop_Object_Constructor - Fatal编程技术网

Java 如何将参数传递给另一个类中的数组?

Java 如何将参数传递给另一个类中的数组?,java,arrays,oop,object,constructor,Java,Arrays,Oop,Object,Constructor,这是我第一次在StackOverflow上发帖,但我已经访问过很多次了。我正在上一堂计算机科学课,我遇到了一个我无法通过研究解决的问题。任务是创建一个带有实例变量和构造函数的NBATeam类,以及一个NBA客户端,该客户端从用户处接收球员姓名的参数,并将其传递给第一个类中的数组 所以我遇到的问题是,当我运行我的程序时,我输入玩家的名字并将它们传递给数组,第一个名字数组被删除。但是,输入到最新数组中的名称没有问题 我道歉,如果我的术语是错误的,我仍然是一个新手 非常感谢你能给我的任何帮助 我将在下

这是我第一次在StackOverflow上发帖,但我已经访问过很多次了。我正在上一堂计算机科学课,我遇到了一个我无法通过研究解决的问题。任务是创建一个带有实例变量和构造函数的NBATeam类,以及一个NBA客户端,该客户端从用户处接收球员姓名的参数,并将其传递给第一个类中的数组

所以我遇到的问题是,当我运行我的程序时,我输入玩家的名字并将它们传递给数组,第一个名字数组被删除。但是,输入到最新数组中的名称没有问题

我道歉,如果我的术语是错误的,我仍然是一个新手

非常感谢你能给我的任何帮助

我将在下面插入我的代码。我的问题是它在哪里显示
[null]
。我还为一队输入了bob,为二队输入了brian,但bob在二队的数组中

请帮忙

Create NBA team of Heats
Add a player to team Heats? (yes/no)
yes
Enter the name of the player: 
bob
Add one more player to Heats?
no
Create NBA team of Spurs
Add a player to team Spurs? (yes/no)
yes
Enter the name of the player: 
brian
Add another player to Spurs?
no
***Heat Wins!***
Heats[null]Wins: 4 Loses: 0
Spurs[bob]Wins: 0 Loses: 4

import java.util.*;
公开课{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
字符串ifAddPlayer,playerName=null;
//建设团队热
System.out.println(“创建NBA热火队”);
NBATeam加热=新NBATeam(“加热”);
System.out.println(“向球队预赛中添加一名球员?(是/否)”;
ifAddPlayer=input.next();
while(ifAddPlayer.equalsIgnoreCase(“是”)){
System.out.println(“输入玩家名称:”);
heats.addPlayer(playerName);
playerName=input.next();
System.out.println(“在预赛中增加一名球员?”);
ifAddPlayer=input.next();
}
//建造团队马刺。
System.out.println(“创建NBA马刺队”);
NBATeam马刺=新NBATeam(“马刺”);
System.out.println(“向热刺队添加一名球员?(是/否)”;
ifAddPlayer=input.next();
while(ifAddPlayer.equalsIgnoreCase(“是”)){
System.out.println(“输入玩家名称:”);
马刺队。addPlayer(playerName);
playerName=input.next();
System.out.println(“向热刺队添加另一名球员?”);
ifAddPlayer=input.next();
}
普拉加梅(预赛、马刺);
System.out.println(heats.toString());
System.out.println(spurs.toString());
}
公共静态空旷场地(NBATeam预赛、NBATeam热刺){
for(int game=0;game<7;game++){
双倍分数=数学随机();
如果(分数<.5){
温纳加梅(马刺);
}
否则{
马刺。维纳加梅(预赛);
}
if(spurs.nWin()==4 | | heats.nWin()==4){
打破
}
}
if(spurs.nWin()>heats.nWin()){
System.out.println(“***热刺赢了!***”);
}
其他的
System.out.println(“***热赢!***”);
}
}
导入java.util.array;
公共班{
私有字符串名称;
私人国际网络;
私人互联网;
私有intn层;
私有字符串[]playerArray=新字符串[n层];
公共NBATeam(字符串名称){
this.streamname=streamname;
n层=0;
}
公共int nWin(){
返回nWin;
}
公共int nLoss(){
返回非视距;
}
公共字符串getTeamName(){
//获取团队的名称
返回蒸汽名称;
}
公共字符串toString(){
返回sTeamName+数组。toString(playerArray)+“Wins:”+nWin+
“丢失:”+nLoss;
}
公共无效lossAgame(){
这个.nLoss++;
}
公开作废winAgame(NBATeam团队2){//赢得团队
nWin++;
team2.setLoss(team2.nLoss()+1);
//teamB.lossAgame();
}
public int getLossNumber(){
返回此.nLoss;
}
公共无效设置损失(整数l){
这个。nLoss=l;
}
public int getWinNumber(){
返回此.nWin;
}
公共无效setWin(int w){
这个。nWin=w;
}
公共播放器(字符串播放器){
字符串温度[]=播放器阵列;
playerArray=阵列的副本(临时,临时长度+1);
playerArray[n玩家]=玩家;
nLayer++;
}
公共字符串[]getPlayerArray(){
返回玩家阵列;
}
公共无效setPlayerArray(字符串[]playerArray){
this.playerray=playerray;
}
}

playerName
中以
null
的初始值开始,然后在获取值之前添加
playerName
。这个,

heats.addPlayer(playerName);
playerName = input.next();
是反向的。应该是

playerName = input.next();
heats.addPlayer(playerName);
playerName = input.next();
spurs.addPlayer(playerName);
,您是一致的。这个,

情况也同样相反。应该是

playerName = input.next();
heats.addPlayer(playerName);
playerName = input.next();
spurs.addPlayer(playerName);
我建议你限制变量的可见性。如果你有

String playerName = input.next();
heats.addPlayer(playerName);

这将限制在设置播放器之前添加播放器的可能性。

哇,这是一个多么愚蠢的错误!非常感谢您的快速回复!!!