Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.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_Dynamic - Fatal编程技术网

Java 如何制作动态的二维阵列

Java 如何制作动态的二维阵列,java,arrays,dynamic,Java,Arrays,Dynamic,我试图制作一个二维的半动态数组。因此,它不使用ArrayList,也不是完全动态的,用户可以添加或删除元素,但程序必须能够向用户询问团队数量,然后询问每个团队的名称和每个团队的玩家数量,最后是每个团队中每个玩家的名称。下面是我到目前为止所做的事情。代码运行,但不会输出团队和玩家。请尽快提供帮助:) import java.util.Scanner; 公共类半动态 { 公共静态void main(字符串[]args) { //变量声明和初始化 字符串sNumPlayers=“”; int num

我试图制作一个二维的半动态数组。因此,它不使用ArrayList,也不是完全动态的,用户可以添加或删除元素,但程序必须能够向用户询问团队数量,然后询问每个团队的名称和每个团队的玩家数量,最后是每个团队中每个玩家的名称。下面是我到目前为止所做的事情。代码运行,但不会输出团队和玩家。请尽快提供帮助:)


import java.util.Scanner;
公共类半动态
{
公共静态void main(字符串[]args)
{
//变量声明和初始化
字符串sNumPlayers=“”;
int numPlayers=0,numTeams=0;
//字符串蒸汽[]=新字符串[3];
String sPlayers[][]=新字符串[3][];//想要数组,但不知道每个队有多少队球员
扫描仪=新的扫描仪(System.in);
System.out.println(“有多少队:”);
numTeams=scanner.nextInt();
字符串流[]=新字符串[numTeams];
对于(int i=0;i第一个错误:

String sPlayers[][] =new String[**3**][];
您总是试图输入3支球队的球员姓名。将其更改为:

    numTeams=scanner.nextInt();//also make sure to handle InputMismatchException for non integer inputs
    String sTeams[]=new String [numTeams];
    String sPlayers[][] =new String[numTeams][];//now it works for user entered number of teams
打印每个队的球员姓名时:

 for(int i=0;i<sPlayers.length;i++)
    {
        System.out.print(sTeams[i]+"\t ");
        for (int j=0;j< **sPlayers.length** ;j++)//j<numTeams, it should be j<num of players for each team
        {
            System.out.print(" "+sPlayers[i][j]+"\t ");
        }//end for loop
        System.out.println("\n----------------------------------------------------------------------------------------------------\n");
    }//end for loop

for(int i=0;i
sPlayers=new String[numTeams][];
一旦你知道有多少队;然后
sPlayers[i]=new String[sNumPlayers];
(就像你已经做的那样)当你有了球队的球员数量时#
i
 for(int i=0;i<sPlayers.length;i++)
    {
        System.out.print(sTeams[i]+"\t ");
        for (int j=0;j< **sPlayers.length** ;j++)//j<numTeams, it should be j<num of players for each team
        {
            System.out.print(" "+sPlayers[i][j]+"\t ");
        }//end for loop
        System.out.println("\n----------------------------------------------------------------------------------------------------\n");
    }//end for loop
    for(int i=0;i<sPlayers.length;i++)
    {
        System.out.print(sTeams[i]+"\t ");
        for (int j=0;j<sPlayers[i].length;j++)//now j<num of players of ith team
        {
            System.out.print(" "+sPlayers[i][j]+"\t ");
        }//end for loop
        System.out.println("\n----------------------------------------------------------------------------------------------------\n");
    }//end for loop