Java 如何在列中打印数组数据
我这里有两种不同数组类型的代码,一种是布尔数组,另一种是整数数组。我想把代码打印成这样Java 如何在列中打印数组数据,java,arrays,printing,Java,Arrays,Printing,我这里有两种不同数组类型的代码,一种是布尔数组,另一种是整数数组。我想把代码打印成这样 marked edgeTo ------ -------- true 2 true 0 true 0 true 5 true 3 true 0 我目前正在使用foreach循环打印数据,但我无法在标题edgeTo下打印edgeTo的数据(2 0 0 5 3 0),也无法在其各自标记的布尔值之间打印。关于我做错了什么有什么建议吗?这是我到目前为止
marked edgeTo
------ --------
true 2
true 0
true 0
true 5
true 3
true 0
我目前正在使用foreach循环打印数据,但我无法在标题edgeTo下打印edgeTo的数据(2 0 0 5 3 0),也无法在其各自标记的布尔值之间打印。关于我做错了什么有什么建议吗?这是我到目前为止的代码片段
System.out.println("marked edgeTo");
System.out.println("------- --------");
for (boolean el : bob.marked) {
System.out.println(el);
}
for (int el : bob.edgeTo) {
System.out.println(el);
}
如果两个数组具有相同的长度,则可以使用1个循环
System.out.println("marked\tedgeTo");
System.out.println("-------\t------");
for (int i = 0; i < bob.marked.length;i++) {
System.out.println(String.valueOf(bob.marked[i]) + "\t" + String.valueOf(bob.edgeTo[i]));
}
System.out.println(“标记的\tedgeTo”);
System.out.println(“----\t----”;
for(int i=0;i
如果两个数组的长度相同,则可以使用1个循环
System.out.println("marked\tedgeTo");
System.out.println("-------\t------");
for (int i = 0; i < bob.marked.length;i++) {
System.out.println(String.valueOf(bob.marked[i]) + "\t" + String.valueOf(bob.edgeTo[i]));
}
System.out.println(“标记的\tedgeTo”);
System.out.println(“----\t----”;
for(int i=0;i
如果阵列长度不同:
System.out.println("marked edgeTo");
System.out.println("------- --------");
int lesserArr = Math.min(bob.marked.length, bob.edgeTo.length);
for (int i = 0; i < lesserArr;i++) {
System.out.println(String.valueOf(bob.marked[i]) + "\t" + String.valueOf(bob.edgeTo[i]));
}
for (int j = 0;j < Math.abs(bob.marked.length-bob.edgeTo.length); j++) {
if (bob.marked.length < bob.edgeTo.length)
System.out.println("\t\t" + String.valueOf(bob.edgeTo[lesserArr + j]));
else
System.out.println(String.valueOf(bob.marked[lesserArr + j]));
}
}
System.out.println(“标记边缘”);
System.out.println(“-------”);
int-lesserArr=Math.min(bob.marked.length,bob.edgeTo.length);
对于(int i=0;i
如果阵列长度不同:
System.out.println("marked edgeTo");
System.out.println("------- --------");
int lesserArr = Math.min(bob.marked.length, bob.edgeTo.length);
for (int i = 0; i < lesserArr;i++) {
System.out.println(String.valueOf(bob.marked[i]) + "\t" + String.valueOf(bob.edgeTo[i]));
}
for (int j = 0;j < Math.abs(bob.marked.length-bob.edgeTo.length); j++) {
if (bob.marked.length < bob.edgeTo.length)
System.out.println("\t\t" + String.valueOf(bob.edgeTo[lesserArr + j]));
else
System.out.println(String.valueOf(bob.marked[lesserArr + j]));
}
}
System.out.println(“标记边缘”);
System.out.println(“-------”);
int-lesserArr=Math.min(bob.marked.length,bob.edgeTo.length);
对于(int i=0;i
标记了什么和边缘
?——无论如何,你应该有一个包含两个字段的单一数组/对象列表,而不是并行数组/列表。它们是我正在处理的包中另一个类的公共字段。我正在学习depthfirt搜索,并检查是否有来自s-v的路径。edgeTo是s-v路径上的最后一条边。标记了什么
和edgeTo
无论如何,你应该有一个包含两个字段的单一数组/对象列表,而不是并行数组/列表。它们是我正在处理的包中另一个类的公共字段。我正在学习depthfirt搜索,并检查是否有来自s-v的路径。edgeTo是s-v路径上的最后一个边缘。我编辑过。实际上我指的是bob的数据类型。标记的etc-可能不是数组。我知道他实际上说了array-我的错。@htpvl非常感谢你,这很有效。在我发布我的问题后,我就尝试了for循环,结果差一点,语法就错了。谢谢你花时间帮忙me@Scary袋熊对不起我的道歉是的arrays@Scary我编辑过。实际上我指的是bob.marked
等的数据类型-可能不是数组。我知道他实际上说了array-我的错。@htpvl非常感谢你,这很有效。在我发布我的问题后,我就尝试了for循环,结果差一点,语法就错了。谢谢你花时间帮忙me@Scary袋熊对不起我的道歉是的它们是数组