Java字符串数组迭代:有什么方法可以简化这个过程吗?

Java字符串数组迭代:有什么方法可以简化这个过程吗?,java,arrays,string,iteration,Java,Arrays,String,Iteration,你好 我是Java新手,一直在练习嵌套循环。我想知道有没有更简单的方法?特别是在我不得不把这个[j+1]放进去的部分 String[][] entry = {{"010", "John", "Male", "21"}, {"011", "Mary", "Female", "25"},

你好

我是Java新手,一直在练习嵌套循环。我想知道有没有更简单的方法?特别是在我不得不把这个[j+1]放进去的部分

String[][] entry = {{"010", "John", "Male", "21"},
                {"011", "Mary", "Female", "25"},
                {"012", "Joseph", "Male", "24"},
                {"013", "Peter", "Male", "22"}};


for ( int i = 0; i < entry.length; i++) {

    for ( int j = 0; j < entry[i].length;) {
        System.out.print("ID: " + entry[i][j] + "\n");
        System.out.print("Name: " + entry[i][j+1] + "\n");
        System.out.print("Gender: " + entry[i][j+2] + "\n");
        System.out.print("Age: " + entry[i][j+3] + "\n");
        System.out.println(""); 
        break;
    }           
}
String[]entry={{{“010”,“John”,“Male”,“21”},
{“011”、“玛丽”、“女性”、“25”},
{“012”,“约瑟夫”,“男”,“24”},
{“013”、“彼得”、“男”、“22”};
for(int i=0;i
预期输出如下所示:

ID:010
姓名:约翰
性别:男性
年龄:21岁

ID:011
姓名:玛丽
性别:女性
年龄:25岁

ID:012
姓名:约瑟夫
性别:男性
年龄:24岁

ID:013
姓名:彼得
性别:男性
年龄:22


非常感谢你的帮助

呃。。。您可以删除内部循环,因为您在第一次迭代中中断,因此根本不循环

String[][] entry = { {"010", "John", "Male", "21"},
                     {"011", "Mary", "Female", "25"},
                     {"012", "Joseph", "Male", "24"},
                     {"013", "Peter", "Male", "22"} };


for (int i = 0; i < entry.length; i++) {
    System.out.print("ID: " + entry[i][0] + "\n");
    System.out.print("Name: " + entry[i][1] + "\n");
    System.out.print("Gender: " + entry[i][2] + "\n");
    System.out.print("Age: " + entry[i][3] + "\n");
    System.out.println("");       
}
String[]entry={{{“010”,“John”,“Male”,“21”},
{“011”、“玛丽”、“女性”、“25”},
{“012”,“约瑟夫”,“男”,“24”},
{“013”、“彼得”、“男”、“22”};
for(int i=0;i
编辑:如果嵌套循环是必需的,则可以实现相同的输出,如下所示:

String[] type = { "ID", "Name", "Gender", "Age" };

String[][] entry = { {"010", "John", "Male", "21"},
                     {"011", "Mary", "Female", "25"},
                     {"012", "Joseph", "Male", "24"},
                     {"013", "Peter", "Male", "22"} };


for (int i = 0; i < entry.length; i++) {
    for (int j = 0; j < entry[i].length; j++) {
        System.out.println(type[j] + ": " + entry[i][j]);
    }
    System.out.println("");       
}
String[]type={“ID”、“Name”、“Gender”、“Age”};
字符串[][]项={{{“010”、“John”、“Male”、“21”},
{“011”、“玛丽”、“女性”、“25”},
{“012”,“约瑟夫”,“男”,“24”},
{“013”、“彼得”、“男”、“22”};
for(int i=0;i

但是,我不建议这样做。

我想这就是你想要的:

String[][] entry = {{"010", "John", "Male", "21"},
                {"011", "Mary", "Female", "25"},
                {"012", "Joseph", "Male", "24"},
                {"013", "Peter", "Male", "22"}};

String[] label = {"ID", "Name", "Gender", "Age"};

for (int i = 0; i < entry.length; i++) {
    for (int j = 0; j < entry[i].length;) {
        System.out.println(label[j] + ": " + entry[i][j]);
    } 
    System.out.println(); 
}
String[]entry={{{“010”,“John”,“Male”,“21”},
{“011”、“玛丽”、“女性”、“25”},
{“012”,“约瑟夫”,“男”,“24”},
{“013”、“彼得”、“男”、“22”};
字符串[]标签={“ID”、“姓名”、“性别”、“年龄”};
for(int i=0;i
我已删除
中断
。它也不应该出现在原始代码中

使用
println
比添加换行符更好。(附加
\n
是不可移植的。要使用的正确行分隔符取决于操作系统。有几种方法可以附加正确的行分隔符,但让
println
处理它更简单。)


我们也可以使用
printf
而不是显式连接字符串。

您好,感谢您的及时回复。是的,确实有效。然而,我正试图使用嵌套循环来实现这一点。抱歉,刚刚编辑了那个部分。如果不提取第一位(ID、姓名、性别、年龄),就不能使用嵌套循环。请参阅更新后的答案,了解一种粗略的方法,我不推荐这种方法。@shoshinsha您没有使用真正的嵌套循环。开始一个内部循环,但假设j==0,在循环结束之前,无条件地中断它。所以内环可以被
intj=0替换后跟打印语句。顺便说一下,这种数据结构最好通过编写自定义类来表示。使用新特性,在Java16中编写自定义类现在要容易得多。