Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.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_Printing - Fatal编程技术网

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袋熊对不起我的道歉是的它们是数组