【问题标题】:Java Iterating over and printing multiple arrays in orderJava按顺序遍历并打印多个数组
【发布时间】:2018-08-14 00:41:03
【问题描述】:

我试图打印标题,然后是姓名,然后是座位,但我得到了一个很长的列表,其中包含我想要的结果,后面跟着许多空值。我在这里做错了什么?

  for (int i = 0 ; i <15 ; i++) {
    System.out.println(title[i]);
    System.out.println(names[i]);
    System.out.println(seat[i]);  
}

我也为每个数组尝试了一个带有单独变量(titleCount、nameCount、seatCount)的 while 循环。我在循环结束时将它们全部递增,将它们用作适当数组的索引。那也没用。

【问题讨论】:

  • 请提供minimal reproducible example,并说明您预期的行为以及确切观察到的行为。
  • 如果它们都应该具有相同的长度,为什么要使用硬编码的 15 值而不是数组的长度属性?

标签: java arrays loops printing


【解决方案1】:

您得到空值的原因是因为您超出了数组中的有效数据量。

假设数组具有相同数量的数据,您可以执行类似的操作

for (int i = 0 ; i < title.length ; i++) {
    System.out.printf("%s %s %s%n", title[i], names[i],seat[i]);  
}

这将为每组打印一行。

一个更好的 OO 方法是创建一个表示此数据的类,并包含 title name 和 seat 的字符串,然后拥有这些对象的数组(或 ArrayList)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-20
    • 2017-05-08
    相关资源
    最近更新 更多