我有以下代码:

public void Print() {
        String formatString = "%12s %7s %9s\n";
        System.out.format(formatString, "Surname", "Initial", "Extension");
        for (int i = 0; i < directory.length - 1; i++) {
            System.out.format(formatString, (Object[]) directory[i].split("\t"));
        }

    }


这段代码的重点是创建一个包含“ Smith i 0472”之类的数组(该空间实际上是一个制表符)。当Array的大小是要打印的东西的数量时,此代码可以完美地工作,但是如果该数组为100,而我仅包含20个元素,则会引发错误。我需要这个大小的数组。谢谢。

抱歉,如果我没有足够清楚地说明这一点。

最佳答案

您不能仅在打印之前检查元素是否为null吗?

for (int i = 0; i < directory.length - 1; i++) {
    if (directory[i] != null) {
        System.out.format(formatString, (Object[]) directory[i].split("\t"));
    }
}

关于java - 从阵列打印时发生异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22078524/

10-13 09:08