java - 显示二维数组中的信息

标签 java arrays 2d

我正在尝试显示二维数组中的名称。

public class last{

static void afficherMINU(String[][]nomPre){
    for(int i=0;i<nomPre.length;i++){
        for(int j=0;j<nomPre.length;j++){
            System.out.printf(nomPre[i][j]+"\n");
        }
    }
}

public static void main(String []args){
    String[]codePerm={"VILC15539307","NDIJ19129406","LANM29089409","JEAJ03108909","TOUS17529409","TRED01039200","AUCM28579305"};
    String[][]nomPre={{"VILLENEUVE-ASSE","CINDY"},{"NDIAYE YEND","JEAN-LOUIS RUDY"},{"LANDRY-VIGNEAULT GARCIA","MARCEL"},{"JEAN-BAPTISTE","JOSEPH-RAYMOND MARC"},{"TOUCHETTE","SOPHIE ANNE-MARIE"},
    {"TREMBLAY","DENIS MARC-ANDRE PIERRE"},{"AUCLAIR-JULIEN","MARIE-ISABELLE"}};

    afficherMINU(nomPre);

    }
}

double 组中的“String[][]nomPre”中的第一个信息是姓氏,后面跟着他们的名字。例如,当我显示数组时,它应该看起来像

VILLENEUVE-ASSE, CINDY
NDIAYE YEND, JEAN-LOUIS RUDY 

等等。但我的代码不断打印:

VILLENEUVE-ASSE
CINDY
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
    at last.afficherMINU(last.java:6)
    at last.main(last.java:16)

最佳答案

您的内部循环有错误的终止边界。 nomPre.length 的值为 7(如果我数正确的话),但内部循环需要在 nomPre[i] 的长度之后停止,因为这是由 j 索引的内容。改用这个:

for(int j=0;j<nomPre[i].length;j++){ // NOT nomPre.length
    System.out.printf(nomPre[i][j]+"\n");
}

更好的是,捕获外循环中的第 ith 行:

for(int i=0;i<nomPre.length;i++){
    String[] row = nomPre[i];
    for(int j=0;j<row.length;j++){
        System.out.printf(row[j]+"\n");
    }
}

关于java - 显示二维数组中的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26198814/

相关文章:

javascript - OpenGL将汽车朝圆形路径旋转

python - 合并两个2D字典python

java - 如何每行显示矩阵值

java - libGDX Sprite 表 2d 动画

java - 无法找出空指针异常

c - 将 64 个 bool 数组打包/解包到一个 uint64 中

c - 如何将 char 数组转换为 C 中的字符串?

Javascript 内部数组迭代

java - 树、节点、树类型

java - 在一个 Activity 中调用其他 Activity ?